Agent-Based Model Documentation: Pay-for-Performance (P4P) in Maternal and Child Health in Tanzania

This documentation accompanies the agent-based model (ABM) described in the paper "Agent-Based Modeling as an Evaluation Tool to Understand Mechanisms of Financial Incentives Scheme for Maternal and Child Health in Tanzania". The model simulates the effects of a Pay-for-Performance (P4P) scheme on childbirth care in Tanzania, focusing on its impact on facility-based deliveries.

Key Components:

  1. Agents: Women of reproductive age, healthcare facilities, and a district manager
  2. Environment: Simulated healthcare system in Tanzania
  3. Behaviors: Women's decision-making for childbirth location, facility responses to incentives, and district manager interventions

The model explores how P4P affects facility characteristics, women's choices, and overall rates of facility-based deliveries. It also examines the impact of implementation factors such as payment delays.

This documentation provides details on model parameters, decision rules, and key processes to help users understand and potentially replicate the simulation. For full context and results interpretation, please refer to the accompanying paper.

 
Model: COSMIC-ABM
Name Value
General
Model time units days
System Dynamics solver
Differention Equations Method Euler
Algebraic Equations Method Modified Newton
Mixed Equations Method RK45+Newton
Absolute accuracy 1.0E-5
Time accuracy 1.0E-5
Relative accuracy 1.0E-5
Fixed time step 0.001
Advanced
Java package name cosmic_abm
File Name /Users/aalibrahim/Repositories/COSMIC-Expansion/COSMIC-ABM.alp
Agent Type: Main
Name Value
Agent actions
Startup code //Select facility colors:
Color[] facility_colors = new Color[] {darkGray,gray,silver,lightGrey,dimGray};
//num_of_women = ceil((inputData.getCellNumericValue(2, 2, 2)+inputData.getCellNumericValue(2, 3, 2)+inputData.getCellNumericValue(2, 4, 2))*PerWRA);

int index = 0;
//Place the Facility Agents:
//double yinc = facilityAreaNode.getHeight()/(facilities.size()+1);
for( int i=0; i<facilities.size(); i++) {
Facility f = facilities.get(i);
//f.X = facilityAreaNode.getX() + facilityAreaNode.getWidth()/2;
//f.Y = facilityAreaNode.getY()+yinc*(i+1);
//f.setLatLon(f.gisX,f.gisY);
f.facility_color = randomColor();// facility_colors[i];
readFacCharacteristics(f); //Read characteristics from Excel File:
manager.orderedFacilitiesList.add(f);

for(int x=0; x<f.sizeofCatchment; x++) {
Woman w = women.get(index);
w.closestFacility = f;
index++;
}

}


for( int i=0; i<facilities.size(); i++) {

}

/*

//Place the Women Agents:
int rows = facilities.size()*4;
double cols = Math.floor(women.size()/rows);
double rowinc = womenAreaNode.getHeight()/(rows+2);
double colinc = womenAreaNode.getWidth()/(cols+1);

//For assigning to catchment area
double f0C = inputData.getCellNumericValue(2, 2, 2)*PerWRA;
double f1C = inputData.getCellNumericValue(2, 3, 2)*PerWRA;





int index = 0;
for( int i=0; i<rows+1; i++ ) {
Name Value
for( int j=0; j<cols; j++ ) {
if(index<women.size()){
Woman w = women.get(index);
w.X = womenAreaNode.getX() + colinc*(j+1);
w.Y = womenAreaNode.getY()+ rowinc*(i+1);
w.setXY(w.X,w.Y);

//Assign to Facility:
if(index<f0C) w.closestFacility = facilities.get(0);
if(index>=f0C) w.closestFacility = facilities.get(1);
if(index>=(f0C+f1C)) w.closestFacility = facilities.get(2);

w.closestFacility.catchmentArea.add(w);
//w.travel_Time = distanceTo(w.closestFacility)/20;
index++;
}}}

*/
if(Delays == 0) PaymentEvents = PaymentSchedule;//remove the effects of delays

if(Delays == 0 & shorterPaymentPeriod>0) {
for( int i=0; i<PaymentEvents.length; i++ ) PaymentEvents[i] = PaymentEvents[i] - shorterPaymentPeriod;
}
Agent in flowcharts
Use in flowcharts as Agent
Dimensions and movement
Speed (10 : MPS)
Rotate animation towards movement true
Rotate vertically as well (along Z-axis) false
Space and network
Enable steps false
Advanced Java
Generic false
Advanced
Logging true
Auto-create datasets true
AOC_DATASETS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Limit the number of data samples false
Scale: scale
Name Value
General
Name Value
Unit meters
Scale 10.0
Type Defined graphically
Length, pixels 100.0
Show at runtime false
Lock false
Public false
Position and size
x 0.0
y -150.0
Rotation 0.0
Parameter: num_of_facilities
Description: Sets the number of facilities in the model.
Must be less than or equal to the number of colors specified in the start-up code
Name Value
General
Array false
Default value 12
Type int
Show at runtime true
Show name true
Value editor
Editor control Slider
Parameter Editor Minimum Value 2
Parameter Editor Maximum Value 5
Advanced
System dynamics units false
Save in snapshot true
Description
Description Sets the number of facilities in the model.
Must be less than or equal to the number of colors specified in the start-up code
Parameter: num_of_women
Description: Must be changed at initial number of agents at women agent in main
Name Value
General
Array false
Default value 0//ceil((inputData.getCellNumericValue(2, 2, 2)+inputData.getCellNumericValue(2, 3, 2)+inputData.getCellNumericValue(2, 4, 2))*PerWRA)
Type int
Show at runtime true
Show name true
Value editor
Label num_of_women
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Must be changed at initial number of agents at women agent in main
Parameter: M1a
Description: modifier 1a for effect of own most recent last experience of facility delivery
Name Value
General
Array false
Default value 0.313
Type double
Show at runtime true
Show name true
Value editor
Label facility_experience_modifier
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description modifier 1a for effect of own most recent last experience of facility delivery
Parameter: M1b
Description: modifier 1b for effect of own most recent last experience of home delivery
Name Value
General
Array false
Default value 0.06
Type double
Show at runtime true
Show name true
Value editor
Label home_delivery_experience_modifier
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description modifier 1b for effect of own most recent last experience of home delivery
Parameter: M2
Description: modifier 2 for influences of other women (based on the last experience of facility delivery and past experience of ANC of these women (but NOT their last/past experience of home delivery))
Name Value
General
Array false
Default value 0.313
Type double
Show at runtime true
Show name true
Value editor
Label other_women_experience_modifier
Editor control Text
Advanced
Name Value
System dynamics units false
Save in snapshot true
Description
Description modifier 2 for influences of other women (based on the last experience of facility delivery and past experience of ANC of these women (but NOT their last/past experience of home delivery))
Parameter: M3
Description: modifier 3 for effect of encouragement from TBAs
Name Value
General
Array false
Default value 1-M1a - M1b - M2
Type double
Show at runtime true
Show name true
Value editor
Label TBA_encouragement_modifier
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description modifier 3 for effect of encouragement from TBAs
Parameter: sim_dur
Description: Simulation duration in days
must be changed in the Simulation: Main as well
Name Value
General
Array false
Default value 1460 //4 years
Type int
Show at runtime true
Show name true
Value editor
Label number of sim days
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Save in snapshot true
Description
Description Simulation duration in days
must be changed in the Simulation: Main as well
Parameter: sim_dur_weeks
Description: must be changed in the Simulation: Main as well
Name Value
General
Array false
Name Value
Default value sim_dur/7
Type int
Show at runtime true
Show name true
Value editor
Label number of sim days
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Save in snapshot true
Description
Description must be changed in the Simulation: Main as well
Parameter: sim_dur_months
Description: must be changed in the Simulation: Main as well
Name Value
General
Array false
Default value 65
Type int
Show at runtime true
Show name true
Value editor
Label number of sim days
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Save in snapshot true
Description
Description must be changed in the Simulation: Main as well
Parameter: sim_dur_6months
Description: must be changed in the Simulation: Main as well
Name Value
General
Array false
Default value sim_dur/30/6
Type int
Show at runtime true
Show name true
Value editor
Label number of sim days
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Name Value
Save in snapshot true
Description
Description must be changed in the Simulation: Main as well
Parameter: ShareWomenExperience
Name Value
General
Array false
Default value true
Type boolean
Show at runtime true
Show name true
Value editor
Label shareWomenExp
Editor control Check Button
Advanced
System dynamics units false
Save in snapshot true
Parameter: catchment_mult
Description: catchment area multiplier to examine the effects of changes in the population size
Name Value
General
Array false
Default value 1
Type double
Show at runtime true
Show name true
Value editor
Label catchment_mult
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description catchment area multiplier to examine the effects of changes in the population size
Parameter: PerWRA
Description: Percent of woman in reproductive age in a catchment area
Name Value
General
Array false
Default value 0.15
Type double
Show at runtime true
Show name true
Value editor
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Name Value
Advanced
System dynamics units false
Save in snapshot true
Description
Description Percent of woman in reproductive age in a catchment area
Parameter: PerPregInitiation
Description: Percent of women pregnant at model initiation
Name Value
General
Array false
Default value 0.05
Type double
Show at runtime true
Show name true
Value editor
Label PerPregInitiation
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Save in snapshot true
Description
Description Percent of women pregnant at model initiation
Parameter: DM_months_between_visits
Description: Duration between visits (in months)
Name Value
General
Array false
Default value 3
Type int
Show at runtime true
Show name true
Value editor
Label DM_months_between_visits
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Duration between visits (in months)
Parameter: facilitiesSeenPerVisit
Description: Number of facilities the the manager sees
Name Value
General
Array false
Default value 3
Name Value
Type int
Show at runtime true
Show name true
Value editor
Label facilitiesSeenPerVisit
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Number of facilities the the manager sees
Parameter: pregancyDuration
Description: Days of pregnancy before delivery
Name Value
General
Array false
Default value 270
Type double
Show at runtime true
Show name true
Value editor
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Save in snapshot true
Description
Description Days of pregnancy before delivery
Parameter: P4PN
Description: Turn on or off the P4P scheme
Name Value
General
Array false
Default value 0
Type int
Show at runtime true
Show name true
Value editor
Label P4PN
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Turn on or off the P4P scheme
Parameter: P4P
Description: Turn on or off the P4P scheme
Name Value
General
Array false
Default value (P4PN == 0)? false:true
Type boolean
Show at runtime true
Show name true
Value editor
Label P4P
Editor control Check Button
Advanced
System dynamics units false
Save in snapshot true
Description
Description Turn on or off the P4P scheme
Parameter: produceOutputs
Name Value
General
Array false
Default value true
Type boolean
Show at runtime true
Show name true
Value editor
Editor control Check Button
Advanced
System dynamics units false
Save in snapshot true
Parameter: sim_dur_years
Description: must be changed in the Simulation: Main as well
Name Value
General
Array false
Default value 4
Type int
Show at runtime true
Show name true
Value editor
Label number of sim days
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Save in snapshot true
Description
Description must be changed in the Simulation: Main as well
Parameter: Delays
Description: Turn off Delays - set to 0
Name Value
General
Array false
Default value 1
Type int
Show at runtime true
Show name true
Value editor
Label Delays
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Turn off Delays - set to 0
Parameter: monthlyPregRate
Description: Proportion of women that become pregnant every month
Name Value
General
Array false
Default value 0.0167
Type double
Show at runtime true
Show name true
Value editor
Label monthlyPregRate
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Save in snapshot true
Description
Description Proportion of women that become pregnant every month
Parameter: durationOfDMImpact
Description: Duration of impact of a DM visit. Example: 1 month means we see a 15 day pre-visit effect and 15 day post-visit effect.
Name Value
General
Array false
Default value 1.5
Type double
Show at runtime true
Show name true
Value editor
Label durationOfDMImpact
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Name Value
Description Duration of impact of a DM visit. Example: 1 month means we see a 15 day pre-visit effect and 15 day post-visit effect.
Parameter: capacityRelaxation
Description: A calibrated parameter to relax the capacity contraints since stakeholders reported that they do not refuse women when the facility is occupied
Name Value
General
Array false
Default value 2
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description A calibrated parameter to relax the capacity contraints since stakeholders reported that they do not refuse women when the facility is occupied
Parameter: initialTBA
Description: A calibrated parameter to relax the capacity contraints since stakeholders reported that they do not refuse women when the facility is occupied
Name Value
General
Array false
Default value 0
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description A calibrated parameter to relax the capacity contraints since stakeholders reported that they do not refuse women when the facility is occupied
Parameter: initialGifts
Name Value
General
Array false
Default value 0
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Name Value
Advanced
System dynamics units false
Save in snapshot true
Parameter: LessPoor_prop_add
Description: Multiplier to change the proportion of
Name Value
General
Array false
Default value 0
Type double
Show at runtime true
Show name true
Value editor
Label LessPoor_prop_add
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Multiplier to change the proportion of
Parameter: P4P_NoBonusHarm
Description: Turn on or off the harmful effects on facility performance when no bonus is earned after receiving a bonus
Name Value
General
Array false
Default value 0
Type int
Show at runtime true
Show name true
Value editor
Label P4P_Harm
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Turn on or off the harmful effects on facility performance when no bonus is earned after receiving a bonus
Parameter: shorterPaymentPeriod
Description: 0 means the model runs the current payment cycle
1 means the payment cycle is shortened by 1 month (i.e. paid 2 months after the performance cycle end vs. 3 months)

Note that Delays must equal to 0 for this function to work
Name Value
General
Array false
Default value 0
Type int
Show at runtime true
Name Value
Show name true
Value editor
Label shorterPaymentPeriod
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description 0 means the model runs the current payment cycle
1 means the payment cycle is shortened by 1 month (i.e. paid 2 months after the performance cycle end vs. 3 months)

Note that Delays must equal to 0 for this function to work
Parameter: DmVisits0
Name Value
General
Array false
Default value 1
Type int
Show at runtime true
Show name true
Value editor
Label DMVisits
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: drugSharingthreshold
Name Value
General
Array false
Default value 50
Type double
Show at runtime true
Show name true
Value editor
Label DrugShareThresh
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: drugSharingAmt
Description: Turn on or off the P4P scheme
Name Value
General
Array false
Default value 10
Type double
Show at runtime true
Name Value
Show name true
Value editor
Label DrugShareRate
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Turn on or off the P4P scheme
Parameter: DmVisits
Name Value
General
Array false
Default value (DmVisits0==1)? true:false
Type boolean
Show at runtime true
Show name true
Value editor
Label DMVisitsbol
Editor control Check Button
Advanced
System dynamics units false
Save in snapshot true
Parameter: DrugSharing0
Name Value
General
Array false
Default value 1
Type int
Show at runtime true
Show name true
Value editor
Label DrugSharingBin
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: womenChoiceMods
Name Value
General
Array false
Default value 1
Type int
Show at runtime true
Show name true
Value editor
Label womenChoiceMods
Editor control Text
Name Value
Advanced
System dynamics units false
Save in snapshot true
Parameter: DrugSharingB
Name Value
General
Array false
Default value (DrugSharing0==1)? true:false
Type boolean
Show at runtime true
Show name true
Value editor
Label DrugSharingB
Editor control Check Button
Advanced
System dynamics units false
Save in snapshot true
Parameter: occupancyEffects
Name Value
General
Array false
Default value 1
Type int
Show at runtime true
Show name true
Value editor
Label occupancyEffects
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: FacilityATargets
Name Value
General
Array false
Default value {0.13, 0.11, 0.1, 0.35}
Type double[]
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: FacilityBTargets
Name Value
Name Value
General
Array false
Default value {1, 0.86, 0.28, 0.71}
Type double[]
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: FacilityCTargets
Name Value
General
Array false
Default value {0.84, 0.88, 0.74, 0.60}
Type double[]
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: n_social
Name Value
General
Array false
Default value 4
Type int
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: occupancyCushion
Description: Proportion of women that become pregnant every month
Name Value
General
Array false
Default value 1
Type double
Show at runtime true
Show name true
Value editor
Label occupancyCushion
Name Value
Editor control Slider
Parameter Editor Minimum Value 20
Parameter Editor Maximum Value 200
Advanced
System dynamics units false
Save in snapshot true
Description
Description Proportion of women that become pregnant every month
Parameter: bypass
Description: bypass activation at 1
Name Value
General
Array false
Default value 1 //(bypass_Bol)? 1:0
Type int
Show at runtime true
Show name true
Value editor
Label BypassAllowed
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description bypass activation at 1
Parameter: allowExpansion
Description: Expansion of Capacity is allowed when set to 1
Name Value
General
Array false
Default value 1//(allowExpansion_bol)? 1:0
Type int
Show at runtime true
Show name true
Value editor
Label ExpansionAllowed
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Expansion of Capacity is allowed when set to 1
Parameter: b
Name Value
General
Array false
Default value 1
Name Value
Type double
Show at runtime true
Show name true
Value editor
Label b_bypassparameter
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Function: update_outputs
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body if(currentMonth%6==0) {
Update_6m();
current6Months++;
}

if(currentMonth==1) {
Update_6m();
current6Months++;
}
Advanced
Access type default
System dynamics units false
Function: Update_6m
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body double outreachsum=0;
double ConsTimesum=0;
double interpersonalsum=0;
double DrugAvailsum=0;
double kindnesssum = 0;
double OOPsum = 0;

for( int i=0; i<facilities.size(); i++ ) {
Facility f = facilities.get(i);
outreachsum += f.outreach_6m[f.sixMonthCounter];
ConsTimesum += f.consultation_Time_6m[f.sixMonthCounter];
interpersonalsum+= f.interpersonal_Quality_6m[f.sixMonthCounter];
DrugAvailsum += f.drugs_avail_6m[f.sixMonthCounter];
kindnesssum += f.Kindness_6m[f.sixMonthCounter];
OOPsum += f.OOP_6m[f.sixMonthCounter];
}


total_Outreach_6m[current6Months] = outreachsum/num_of_facilities;
total_ConsTime_6m[current6Months] = ConsTimesum/num_of_facilities;
total_interpersonalQ_6m[current6Months] = interpersonalsum/num_of_facilities;
total_DrugAvail_6m[current6Months] =
Name Value
DrugAvailsum/num_of_facilities;
total_kindness_6m[current6Months] = kindnesssum/num_of_facilities;
total_OOP_6m[current6Months] = OOPsum/num_of_facilities;
Advanced
Access type default
System dynamics units false
Function: readFacCharacteristics
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body int i = f.getIndex()+2; //+2 to start from column 2 which is the first facility in Excel file

//double locMod = 0.1;
double u1 = 0;
double u2 = 0;

String[] maskedNames = {"A","B","C","E", "F"};

f.facility_name = inputData.getCellStringValue(1, 3, i); // maskedNames[i-2];//
f.waiting_Time_BL = inputData.getCellNumericValue(1, 5, i);
f.consultation_Time_BL = inputData.getCellNumericValue(1, 6, i);
f.outreach = inputData.getCellNumericValue(1, 7, i);
f.OOP = inputData.getCellNumericValue(1, 8, i);
f.locMod = inputData.getCellNumericValue(1, 45, i)*0.1;

f.interpersonal_Quality_BL = inputData.getCellNumericValue(1, 10, i);
f.anc_quality = inputData.getCellNumericValue(1, 11, i);
f.drugs_avail= inputData.getCellNumericValue(1, 12, i)*100;
f.kindness = inputData.getCellNumericValue(1, 13, i);
f.capacity_limit = (int) (inputData.getCellNumericValue(1, 14, i)+capacityRelaxation);
f.number_staff = inputData.getCellNumericValue(1, 15, i);

f.facility_gifts = initialGifts;
f.bl_in_facility_birth_rate = inputData.getCellNumericValue(1,37,i);//inputData.getCellNumericValue(1,35,i);
f.targetCalculation=inputData.getCellNumericValue(1,37,i);
f.sizeofCatchment = inputData.getCellNumericValue(2,i,4);
f.incentive_TBA = initialTBA;

f.gisX = inputData.getCellNumericValue(1,41,i);
f.gisY = inputData.getCellNumericValue(1,42,i);
f.setLatLon(f.gisX,f.gisY);

f.setBLvalues();

for( int x=0; x<f.sizeofCatchment; x++) {
add_women();
Woman w = women.get(num_of_women);
w.closestFacility = f;
f.catchmentArea.add(w);
setWomenAttributes(w,f);
u1 = (uniform()-0.5)*f.locMod;
u2 = (uniform()-0.5)*f.locMod;
w.gisX = f.gisX+u1;
w.gisY = f.gisY+u2;
w.setLatLon(w.gisX,w.gisY);
w.travel_Time = getDistance(w.gisX,w.gisY,f.gisX,f.gisY)*500;
num_of_women++;
}

Advanced
Access type default
Name Value
System dynamics units false
Arguments:
Name Type
f Facility
Function: last6monParityCalc
Name Value
General
Return type double
Return type: Returns value
Show at runtime true
Show name true
Function body
Body double births = 0;
for( int i=0; i<6; i++ ) births += total_Births_m[sim_dur_months-i];

double fac_births = 0;
for( int i=0; i<6; i++ ) fac_births += total_Facility_Births_m[sim_dur_months-i];

double bypassing_births = 0;
for( int i=0; i<6; i++ ) bypassing_births += total_Bypassing_Births_m[sim_dur_months-i];


return fac_births/births;
Advanced
Access type default
System dynamics units false
Function: setWomenAttributes
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body int i = f.getIndex()+2; //+2 to start from column 2 which is the first facility in Excel file


w.anc_over_4 = randomTrue(inputData.getCellNumericValue(3, 3, i))? 1:0;
w.muslim = randomTrue(inputData.getCellNumericValue(3, 5, i))? 1:0;
w.new_patient_experience = randomTrue(inputData.getCellNumericValue(3, 30, i))? 1:-1;

//For SES, set to 0, then if randomly generated number is greater than p1, set to 1, if  greater than p2 + p1, set to 2
double x = uniform()+LessPoor_prop_add;

w.SES = 0;
if(x>inputData.getCellNumericValue(3, 7, i)) w.SES = 1;
if(x>inputData.getCellNumericValue(3, 8, i)+inputData.getCellNumericValue(3, 7, i)) w.SES = 2;


//For education, set to 0, then if randomly generated number is greater than p1, set to 1, if  greater than p2 + p1, set to 2
x = uniform();
double p1 = inputData.getCellNumericValue(3, 10, i);
double p2 = inputData.getCellNumericValue(3, 11, i);
double p3 = inputData.getCellNumericValue(3, 12, i);
Name Value

w.education = 0;
if(x>p1) w.education = 1;
if(x>(p1+p2)) w.education = 2;
if(x>(p1+p2+p3)) w.education = 3;


//w.travel_Time = inputData.getCellNumericValue(3, 14, i)*uniform(0.5, 1.5);
Advanced
Access type default
System dynamics units false
Arguments:
Name Type
w Woman
f Facility
Table Function: PaymentIssuanceDates
Name Value
General
Out of range value 0.0
Out of range behavior Custom
Interpolation Step
Show at runtime true
Show name true
Table data
Load From Database false
Advanced
Access type public
System dynamics units false
Table Data:
Argument Value
13.0 1.0
18.0 1.0
22.0 1.0
27.0 1.0
33.0 1.0
34.0 1.0
42.0 1.0
Custom Distribution: parityDistribution
Description: Parity at initialization - values are set to expected values if 15% of the catchment area population are child-bearing aged women


Source:
https://www.nbs.go.tz/nbs/takwimu/census2012/Fertility%20and%20Nuptiality%20Monograph.pdf. (NBS/URT (2015). Thematic report on Fertility and Nuptiality).
Name Value
General
Custom Distribution Integer values true
Custom Distribution Definition Type Ranges
Type Continuous
Show at runtime true
Show name true
Data
Name Value
Load From Database false
Description
Description Parity at initialization - values are set to expected values if 15% of the catchment area population are child-bearing aged women


Source:
https://www.nbs.go.tz/nbs/takwimu/census2012/Fertility%20and%20Nuptiality%20Monograph.pdf. (NBS/URT (2015). Thematic report on Fertility and Nuptiality).
null null null
0.0 0.0 450.0
1.0 1.0 247.0
2.0 2.0 236.0
3.0 3.0 204.0
4.0 4.0 178.0
5.0 5.0 139.0
6.0 6.0 118.0
7.0 7.0 88.0
8.0 8.0 70.0
9.0 9.0 51.0
10.0 10.0 92.0
Event: MonthlyEvent
Name Value
General
Logging true
EVENT_TIMEOUT_PROPERTIES  - Recurring Event Properties
Mode Cyclic
Trigger type Timeout
Show at runtime true
Show name true
Action
Action for( int i=0; i<facilities.size(); i++ ) {
Facility f = facilities.get(i);
f.monthlyUpdate();
}


//If P4P is activated, send details to manager
if(P4P) {
manager.checkPerformance();
}


//Add a month to the month counter used by all agents
currentMonth++;

//keep track of bonus periods
if(arrayContains(PaymentEvents,currentMonth) & P4P) bonusPeriod++;  

//Update charts and metrics for all agents
update_outputs();


Variable: total_Pregnancies
Description: Total number of preganancies (including those later lost to miscarriage or stillbirths prior to labour), since baseline
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of preganancies (including those later lost to miscarriage or stillbirths prior to labour), since baseline
Variable: total_Births
Description: sum of births across all women since baseline (including births in referred to facilities/hospitals and including stillbirths during labour and neonatal deaths within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too)
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description sum of births across all women since baseline (including births in referred to facilities/hospitals and including stillbirths during labour and neonatal deaths within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too)
Variable: total_Home_Births
Description: Total number of deliveries that did not occur in health facilities (including stillbirths during labour and neonatal deaths within 'births' count for consistency across variables), since baseline
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of deliveries that did not occur in health facilities (including stillbirths during labour and neonatal deaths within 'births' count for consistency across variables), since baseline
Variable: total_Miscarriages
Description: Total number of lost pregnancies (due to miscarriage or stillbirths prior to labour), since baseline
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of lost pregnancies (due to miscarriage or stillbirths prior to labour), since baseline
Variable: total_Complications
Description: Total number of women with complications at the point of labour (e.g. needing CEmOC) that are appropriately referred by facility (dispensary), since baseline
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of women with complications at the point of labour (e.g. needing CEmOC) that are appropriately referred by facility (dispensary), since baseline
Variable: percent_Deliveries_in_Facility
Description: Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Variable: currentMonth
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: comp_Scale
Description: used to show a uniform scale for vizualizations of facility-level negative outcomes
Name Value
General
Initial value 10
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description used to show a uniform scale for vizualizations of facility-level negative outcomes
Variable: home_fac_Scale
Description: used to show a uniform scale for vizualizations of facility-level negative outcomes
Name Value
General
Initial value 10
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description used to show a uniform scale for vizualizations of facility-level negative outcomes
Variable: total_Pregnancies_6m
Description: number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Variable: total_Births_m
Description: sum of births across all women since baseline (including births in referred to facilities/hospitals and including stillbirths during labour and neonatal deaths within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too)
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description sum of births across all women since baseline (including births in referred to facilities/hospitals and including stillbirths during labour and neonatal deaths within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too)
Variable: total_Home_Births_m
Description: Total number of deliveries that did not occur in health facilities every 6 months (including stillbirths during labour and neonatal deaths within 'births' count for consistency across variables), since baseline
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of deliveries that did not occur in health facilities
Name Value
every 6 months (including stillbirths during labour and neonatal deaths within 'births' count for consistency across variables), since baseline
Variable: total_Miscarriages_m
Description: Total number of lost pregnancies (due to miscarriage or stillbirths prior to labour), since baseline
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of lost pregnancies (due to miscarriage or stillbirths prior to labour), since baseline
Variable: total_Complications_m
Description: Total number of women with complications at the point of labour (e.g. needing CEmOC) that are appropriately referred by facility (dispensary), since baseline
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of women with complications at the point of labour (e.g. needing CEmOC) that are appropriately referred by facility (dispensary), since baseline
Variable: percent_in_Facilities_m
Description: Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
Name Value
System dynamics units false
Description
Description Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Variable: total_Facility_Births_m
Description: Total number of deliveries occured in health facilities every 6 months (including stillbirths during labour and neonatal deaths within 'births' count for consistency across variables), since baseline
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of deliveries occured in health facilities every 6 months (including stillbirths during labour and neonatal deaths within 'births' count for consistency across variables), since baseline
Variable: total_Facility_Refused_m
Description: Total number of births that would have delivered at a facility but have been refused due to capacity limit
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of births that would have delivered at a facility but have been refused due to capacity limit
Variable: total_Outreach_6m
Name Value
General
Initial value new double[sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
Name Value
System dynamics units false
Variable: total_ConsTime_6m
Description: Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Name Value
General
Initial value new double[sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Variable: total_interpersonalQ_6m
Description: Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Name Value
General
Initial value new double[sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Variable: total_DrugAvail_6m
Description: Percentage of all births that are facility deliveries (across all births and all facilities, including those referred on), since baseline
Name Value
General
Initial value new double[sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Percentage of all births that are facility deliveries (across all births
Name Value
and all facilities, including those referred on), since baseline
Variable: current6Months
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: total_kindness_6m
Name Value
General
Initial value new double[sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description
Variable: total_OOP_6m
Name Value
General
Initial value new double[sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: PaymentSchedule
Description: Scheduled time of receiving the bonus payments
Name Value
General
Initial value {9,15,21,27,33,39,45,51,57,63}
Type int[]
Show at runtime true
Show name true
Name Value
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Scheduled time of receiving the bonus payments
Variable: bonusPeriod
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: PaymentEvents
Description: Actual time at which bonuses were paid (usually delayed compared to PaymentSchedule)
Name Value
General
Initial value {13,18,22,27,34,42,55,60,100}
Type int[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Actual time at which bonuses were paid (usually delayed compared to PaymentSchedule)
Variable: bonusPaid
Name Value
General
Initial value false
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: PerformanceCycle
Description: Scheduled time of receiving the bonus payments
Name Value
General
Initial value {6,12,18,24,30,36,42,48,54,60}
Type int[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Scheduled time of receiving the bonus payments
Variable: FacilityAOutputs
Name Value
General
Initial value new double[4]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: FacilityBOutputs
Name Value
General
Initial value new double[4]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: FacilityCOutputs
Name Value
General
Initial value new double[4]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Name Value
Constant false
Save in snapshot true
System dynamics units false
Variable: sumError
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: total_Bypassing_Births_m
Description: Total number of deliveries occured in health facilities every 6 months (including stillbirths during labour and neonatal deaths within 'births' count for consistency across variables), since baseline
Name Value
General
Initial value new double[sim_dur_months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Total number of deliveries occured in health facilities every 6 months (including stillbirths during labour and neonatal deaths within 'births' count for consistency across variables), since baseline
Plot: plot
Name Value
General
Lock false
Public true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 10000
Scale
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To sim_dur_months
Vertical scale Fixed
Chart Vertical Scale: From 0
Name Value
Chart Vertical Scale: To 100
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 500.0
Width 301.7359413202934
y 845.0
Height 110.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 221.73594132029342
Chart Area: Y Offset 20.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value max(currentMonth-1,0) round(total_Facility_Births_m[max(currentMonth-1,0)]/total_Births_m[max(currentMonth-1,0)]*100) CIRCLE blue true 1.0 LINEAR
Plot: plot1
Name Value
General
Lock false
Public true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 10000
Scale
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To sim_dur_months
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 10
Name Value
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 260.0
Width 135.09933774834437
y 1060.0
Height 100.0
Legend
Show legend false
Chart area
Chart Area: X Offset 10.0
Chart Area: Width 115.09933774834437
Chart Area: Y Offset 20.0
Chart Area: Height 40.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value currentMonth total_Facility_Refused_m[max(0,currentMonth-1)] CIRCLE blue true 1.0 LINEAR
Plot: plot2
Name Value
General
Lock false
Public true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 10000
Scale
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To sim_dur_months
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Name Value
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 449.139
Width 135.09933774834437
y 1060.0
Height 100.0
Legend
Show legend false
Chart area
Chart Area: X Offset 10.0
Chart Area: Width 115.09933774834437
Chart Area: Y Offset 20.0
Chart Area: Height 40.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value currentMonth (facilities.get(0).outreach_m[currentMonth] + facilities.get(1).outreach_m[currentMonth]+ facilities.get(2).outreach_m[currentMonth])/3 CIRCLE blue true 1.0 LINEAR
Plot: plot3
Name Value
General
Lock false
Public true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 10000
Scale
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To sim_dur_months
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 100
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Name Value
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 638.278
Width 135.09933774834437
y 1060.0
Height 100.0
Legend
Show legend false
Chart area
Chart Area: X Offset 10.0
Chart Area: Width 115.09933774834437
Chart Area: Y Offset 20.0
Chart Area: Height 40.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value currentMonth (facilities.get(0).drugs_avail_m[currentMonth] + facilities.get(1).drugs_avail_m[currentMonth]+ facilities.get(2).drugs_avail_m[currentMonth])/3 CIRCLE blue true 1.0 LINEAR
Plot: plot4
Name Value
General
Lock false
Public true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 10000
Scale
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To sim_dur_months
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 20
Name Value
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 830.397
Width 135.09933774834437
y 1060.0
Height 100.0
Legend
Show legend false
Chart area
Chart Area: X Offset 10.0
Chart Area: Width 115.09933774834437
Chart Area: Y Offset 20.0
Chart Area: Height 40.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value currentMonth (facilities.get(0).consultation_Time_m[currentMonth] + facilities.get(1).consultation_Time_m[currentMonth]+ facilities.get(2).consultation_Time_m[currentMonth])/3 CIRCLE blue true 1.0 LINEAR
Plot: plot5
Name Value
General
Lock false
Public true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 10000
Scale
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To sim_dur_months
Name Value
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 1010.0
Width 135.09933774834437
y 1060.0
Height 100.0
Legend
Show legend false
Chart area
Chart Area: X Offset 10.0
Chart Area: Width 115.09933774834437
Chart Area: Y Offset 20.0
Chart Area: Height 40.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value currentMonth (facilities.get(0).OOP_m[currentMonth] + facilities.get(1).OOP_m[currentMonth]+ facilities.get(2).OOP_m[currentMonth])/3 CIRCLE blue true 1.0 LINEAR
Plot: plot6
Name Value
General
Lock false
Public true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 10000
Scale
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Name Value
Chart Horizontal Scale: To sim_dur_months
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 10
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 1202.119
Width 135.09933774834437
y 1060.0
Height 100.0
Legend
Show legend false
Chart area
Chart Area: X Offset 10.0
Chart Area: Width 115.09933774834437
Chart Area: Y Offset 20.0
Chart Area: Height 40.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value currentMonth (facilities.get(0).Kindness_m[currentMonth] + facilities.get(1).Kindness_m[currentMonth]+ facilities.get(2).Kindness_m[currentMonth])/3 CIRCLE blue true 1.0 LINEAR
Plot: plot7
Name Value
General
Lock false
Public true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 10000
Scale
Horizontal scale Fixed
Name Value
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To sim_dur_months
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 100
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 1020.0
Width 301.7359413202934
y 845.0
Height 110.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 221.73594132029342
Chart Area: Y Offset 20.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value max(currentMonth-1,0) round(total_Bypassing_Births_m[max(currentMonth-1,0)]/total_Facility_Births_m[max(currentMonth-1,0)]*100) CIRCLE blue true 1.0 LINEAR
Statistics: squareError
Name Value
General
Discrete true
Show at runtime true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Logging true
Text: text
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text System Outcomes
Appearance
Color black
Alignment LEFT
Position and size
x 2050.0
y 70.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text2
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Woman Experience
Modifiers
Appearance
Color black
Alignment LEFT
Position and size
x -620.0
y 40.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text3
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Simulation Set Up
Appearance
Color black
Alignment LEFT
Name Value
Position and size
x -360.0
y 40.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text4
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Simulation
Steps & Outputs
Appearance
Color black
Alignment LEFT
Position and size
x 1820.0
y 40.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text10
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text COSMIC
Appearance
Color black
Alignment LEFT
Position and size
x 40.0
y 20.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text11
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
sunt in culpa qui officia deserunt mollit anim id est laborum.
Appearance
Color black
Alignment LEFT
Position and size
x 40.0
y 85.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Image: image
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Position and size
x 1370.0
Width 130.0
y 10.0
Height 68.166
z 0.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Image: image1
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Position and size
x 1270.0
Width 83.172
y 10.0
Name Value
Height 67.0
z 0.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Image: image2
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Position and size
x 1440.0
Width 49.613
y 90.0
Height 50.0
z 0.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Image: image3
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Position and size
x 1280.0
Width 139.379
y 95.0
Height 37.288
z 0.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text12
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Name Value
Text  P4P for Maternal & Child Health in Tanzania
Appearance
Color black
Alignment LEFT
Position and size
x 30.0
y 45.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: SystemReportArea
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color white
Line color black
Line width 3.0
Line style solid
Position and size
x 220.0
Width 1150.0
y 780.0
Height 390.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text15
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Average Outcomes Across District
Appearance
Color black
Alignment LEFT
Position and size
x 620.0
y 800.0
Name Value
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text1
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Prop of Births
Dynamic: Text round(total_Facility_Births_m[max(currentMonth-1,0)]/total_Births_m[max(currentMonth-1,0)]*100)+"%"
Appearance
Color blue
Alignment LEFT
Position and size
x 320.0
y 840.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text16
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Percent of Births
in Facilities
Appearance
Color black
Alignment LEFT
Position and size
x 320.0
y 890.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text17
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Sim. Period
Appearance
Color black
Alignment LEFT
Position and size
x 1005.0
y 35.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text18
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text text
Dynamic: Text "Month "+ currentMonth +" out of " + round(ceil(sim_dur_months))
Appearance
Color black
Alignment LEFT
Position and size
x 1000.0
y 85.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text19
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Month
Appearance
Color gray
Name Value
Alignment LEFT
Position and size
x 640.0
y 955.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle1
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color gray
Line width 1.5
Line style solid
Position and size
x 955.0
Width 190.0
y 30.0
Height 75.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle2
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color gray
Line width 1.5
Line style solid
Position and size
x 955.0
Width 190.0
y 20.0
Height 10.0
z 0.0
Z-Height 10.0
Rotation 0.0
Name Value
Advanced
Show in 2D and 3D
Show name false
Line: line9
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color gray
Line width 1.5
Line style solid
Position and size
x 1100.0
dX 0.0
y 25.0
dY -10.0
z 0.0
dZ 0.0
Z-Height 10.0
Advanced
Show in 2D and 3D
Show name false
Line: line11
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color gray
Line width 1.5
Line style solid
Position and size
x 1010.0
dX 0.0
y 25.0
dY -10.0
z 0.0
dZ 0.0
Z-Height 10.0
Advanced
Show in 2D and 3D
Show name false
Text: text20
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Simulation Features
Appearance
Color black
Alignment LEFT
Position and size
x -350.0
y 450.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text21
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Prop of Births
Dynamic: Text total_Facility_Refused_m[max(0,currentMonth-1)]
Appearance
Color blue
Alignment CENTER
Position and size
x 332.053
y 990.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text22
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Births at Other Facility
Due to Facility Capacity
Appearance
Color black
Name Value
Alignment CENTER
Position and size
x 332.053
y 1030.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text23
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Month
Appearance
Color gray
Alignment LEFT
Position and size
x 395.099
y 1130.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text25
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Prop of Births
Dynamic: Text round((facilities.get(0).outreach_m[currentMonth] + facilities.get(1).outreach_m[currentMonth]+ facilities.get(2).outreach_m[currentMonth])/0.03) +"%"
Appearance
Color blue
Alignment CENTER
Position and size
x 521.192
y 990.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Name Value
Show name false
Text: text26
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Percent of Facilities
With Outreach
Appearance
Color black
Alignment CENTER
Position and size
x 521.192
y 1030.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text27
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Month
Appearance
Color gray
Alignment LEFT
Position and size
x 584.238
y 1130.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text28
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Name Value
Text
Text Average Drug Avail.
at Facilities
Appearance
Color black
Alignment CENTER
Position and size
x 710.331
y 1030.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text29
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Month
Appearance
Color gray
Alignment LEFT
Position and size
x 773.377
y 1130.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text30
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Prop of Births
Dynamic: Text round((facilities.get(0).drugs_avail_m[currentMonth] + facilities.get(1).drugs_avail_m[currentMonth]+ facilities.get(2).drugs_avail_m[currentMonth])/3)
Appearance
Color blue
Alignment CENTER
Position and size
x 710.331
Name Value
y 990.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text31
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Month
Appearance
Color gray
Alignment LEFT
Position and size
x 965.496
y 1130.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text32
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Average Consultation
Time (mins)
Appearance
Color black
Alignment CENTER
Position and size
x 902.45
y 1030.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text33
Name Value
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Prop of Births
Dynamic: Text round((facilities.get(0).consultation_Time_m[currentMonth] + facilities.get(1).consultation_Time_m[currentMonth]+ facilities.get(2).consultation_Time_m[currentMonth])/3)
Appearance
Color blue
Alignment CENTER
Position and size
x 902.45
y 990.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text34
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Prop of Births
Dynamic: Text (facilities.get(0).OOP_m[currentMonth] + facilities.get(1).OOP_m[currentMonth]+ facilities.get(2).OOP_m[currentMonth])/3
Appearance
Color blue
Alignment CENTER
Position and size
x 1082.053
y 990.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text35
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Name Value
Text Month
Appearance
Color gray
Alignment LEFT
Position and size
x 1337.218
y 1130.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text36
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Month
Appearance
Color gray
Alignment LEFT
Position and size
x 1145.099
y 1130.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text37
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Average OOP
Appearance
Color black
Alignment CENTER
Position and size
x 1082.053
y 1030.0
z 0.0
Rotation 0.0
Advanced
Name Value
Show in 2D only
Show name false
Text: text38
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Average Kindness
Score
Appearance
Color black
Alignment CENTER
Position and size
x 1274.172
y 1030.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text39
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Prop of Births
Dynamic: Text (facilities.get(0).Kindness_m[currentMonth] + facilities.get(1).Kindness_m[currentMonth]+ facilities.get(2).Kindness_m[currentMonth])/3
Appearance
Color blue
Alignment CENTER
Position and size
x 1274.172
y 990.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text41
Name Value
General
Name Value
Show at runtime true
Lock false
Public false
Text
Text Simulation Start Up
Appearance
Color black
Alignment LEFT
Position and size
x -340.0
y 730.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text42
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Simulation Outputs
Appearance
Color black
Alignment LEFT
Position and size
x -540.0
y 360.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text46
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text time(MONTH)
Dynamic: Text getMonth()+1 +"/" + getYear()
Appearance
Color black
Alignment LEFT
Position and size
x 1013.0
Name Value
y 56.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval15
Name Value
General
Dynamic: Visible currentMonth>=PaymentEvents[6] & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color tomato
Line width 1.0
Line style solid
Position and size
Circle true
x 1194.056
Radius X 7.5
y 190.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Oval: oval14
Name Value
General
Dynamic: Visible currentMonth>41 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color tomato
Line width 1.0
Line style solid
Position and size
Circle true
x 1149.056
Radius X 7.5
y 190.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Name Value
Show in 2D and 3D
Show name false
Oval: oval22
Name Value
General
Dynamic: Visible currentMonth>33 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellow
Line width 1.0
Line style solid
Position and size
Circle true
x 1104.056
Radius X 7.5
y 190.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Oval: oval12
Name Value
General
Dynamic: Visible currentMonth>26 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Line width 1.0
Line style solid
Position and size
Circle true
x 1059.056
Radius X 7.5
y 190.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle5
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 889.056
Width 45.0
y 160.0
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle6
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 889.056
Width 45.0
y 140.0
Height 40.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle7
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Name Value
Line color black
Line width 1.0
Line style solid
Position and size
x 914.056
Width 20.0
y 180.0
Height 19.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text44
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 6
Appearance
Color black
Alignment LEFT
Position and size
x 899.056
y 165.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text45
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 1
Appearance
Color black
Alignment LEFT
Position and size
x 909.056
y 145.0
z 0.0
Name Value
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text47
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 9
Appearance
Color black
Alignment LEFT
Position and size
x 899.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval
Name Value
General
Dynamic: Visible currentMonth>5 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Line width 1.0
Line style solid
Position and size
Circle true
x 924.056
Radius X 7.5
y 170.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Oval: oval5
Name Value
General
Dynamic: Visible currentMonth>12 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color tomato
Line width 1.0
Line style solid
Position and size
Circle true
x 924.056
Radius X 7.5
y 190.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text48
Name Value
General
Dynamic: Visible currentMonth>12 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 13
Appearance
Color black
Alignment LEFT
Position and size
x 918.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle8
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Name Value
Line color black
Line width 1.0
Line style solid
Position and size
x 959.056
Width 20.0
y 180.0
Height 19.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text49
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 12
Appearance
Color black
Alignment LEFT
Position and size
x 939.056
y 165.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle9
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 934.056
Width 45.0
y 140.0
Height 40.0
Name Value
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Oval: oval6
Name Value
General
Dynamic: Visible currentMonth>11 & P4P
Show at runtime false
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Line width 1.0
Line style solid
Position and size
Circle true
x 969.056
Radius X 7.5
y 170.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text50
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 15
Appearance
Color black
Alignment LEFT
Position and size
x 939.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval7
Name Value
General
Dynamic: Visible currentMonth>17 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color tomato
Line width 1.0
Line style solid
Position and size
Circle true
x 969.056
Radius X 7.5
y 190.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle10
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 934.056
Width 45.0
y 160.0
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text51
Name Value
General
Dynamic: Visible currentMonth>17 & P4P
Show at runtime true
Name Value
Lock false
Embedded icon false
Public true
Text
Text 18
Appearance
Color black
Alignment LEFT
Position and size
x 963.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text52
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 2
Appearance
Color black
Alignment LEFT
Position and size
x 954.056
y 145.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval8
Name Value
General
Dynamic: Visible currentMonth>21 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellow
Line width 1.0
Line style solid
Position and size
Circle true
Name Value
x 1014.056
Radius X 7.5
y 190.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Oval: oval9
Name Value
General
Dynamic: Visible currentMonth>17 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Line width 1.0
Line style solid
Position and size
Circle true
x 1014.056
Radius X 7.5
y 170.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text53
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 3
Appearance
Color black
Alignment LEFT
Position and size
x 999.056
y 145.0
z 0.0
Rotation 0.0
Advanced
Name Value
Show in 2D only
Show name false
Rectangle: rectangle11
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 979.056
Width 45.0
y 160.0
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text54
Name Value
General
Dynamic: Visible currentMonth>21 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 22
Appearance
Color black
Alignment LEFT
Position and size
x 1008.056
y 184.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text55
Name Value
General
Name Value
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 21
Appearance
Color black
Alignment LEFT
Position and size
x 984.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle12
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 979.056
Width 45.0
y 140.0
Height 40.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle13
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Name Value
Position and size
x 1004.056
Width 20.0
y 180.0
Height 19.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text56
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 18
Appearance
Color black
Alignment LEFT
Position and size
x 984.056
y 165.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval11
Name Value
General
Dynamic: Visible currentMonth>23 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Line width 1.0
Line style solid
Position and size
Circle true
x 1059.056
Radius X 7.5
y 170.0
z 0.0
Z-Height 10.0
Name Value
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text57
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 4
Appearance
Color black
Alignment LEFT
Position and size
x 1044.056
y 145.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle14
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1024.056
Width 45.0
y 160.0
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text58
Name Value
Name Value
General
Dynamic: Visible currentMonth>26 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 27
Appearance
Color black
Alignment LEFT
Position and size
x 1053.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text59
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 27
Appearance
Color black
Alignment LEFT
Position and size
x 1029.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle15
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Name Value
Position and size
x 1024.056
Width 45.0
y 140.0
Height 40.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle16
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1049.056
Width 20.0
y 180.0
Height 19.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text60
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 24
Appearance
Color black
Alignment LEFT
Position and size
x 1029.056
y 165.0
z 0.0
Rotation 0.0
Name Value
Advanced
Show in 2D only
Show name false
Rectangle: rectangle17
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1114.056
Width 45.0
y 140.0
Height 40.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Oval: oval10
Name Value
General
Dynamic: Visible currentMonth>29 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Line width 1.0
Line style solid
Position and size
Circle true
x 1104.056
Radius X 7.5
y 170.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text61
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 5
Appearance
Color black
Alignment LEFT
Position and size
x 1089.056
y 145.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle18
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1069.056
Width 45.0
y 160.0
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text62
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 7
Appearance
Name Value
Color black
Alignment LEFT
Position and size
x 1179.056
y 145.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text63
Name Value
General
Dynamic: Visible currentMonth>34 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 34
Appearance
Color black
Alignment LEFT
Position and size
x 1098.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text64
Name Value
General
Dynamic: Visible currentMonth>41 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 42
Appearance
Color black
Alignment LEFT
Position and size
x 1143.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Name Value
Show in 2D only
Show name false
Rectangle: rectangle19
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1139.056
Width 20.0
y 180.0
Height 19.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle20
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1184.056
Width 20.0
y 180.0
Height 19.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle21
Name Value
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1094.056
Width 20.0
y 180.0
Height 19.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text65
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 30
Appearance
Color black
Alignment LEFT
Position and size
x 1074.056
y 165.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval13
Name Value
General
Dynamic: Visible currentMonth>41 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Name Value
Line width 1.0
Line style solid
Position and size
Circle true
x 1194.056
Radius X 7.5
y 170.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text66
Name Value
General
Dynamic: Visible currentMonth>=PaymentEvents[6] & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 27
Dynamic: Text PaymentEvents[6]
Appearance
Color black
Alignment LEFT
Position and size
x 1188.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle22
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1114.056
Width 45.0
y 160.0
Name Value
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle23
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1159.056
Width 45.0
y 140.0
Height 40.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text67
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 36
Appearance
Color black
Alignment LEFT
Position and size
x 1119.056
y 165.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text68
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 42
Appearance
Color black
Alignment LEFT
Position and size
x 1164.056
y 165.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text69
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 39
Appearance
Color black
Alignment LEFT
Position and size
x 1119.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text70
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 6
Appearance
Name Value
Color black
Alignment LEFT
Position and size
x 1134.056
y 145.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text71
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 33
Appearance
Color black
Alignment LEFT
Position and size
x 1074.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval17
Name Value
General
Dynamic: Visible currentMonth>35 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Line width 1.0
Line style solid
Position and size
Circle true
x 1149.056
Radius X 7.5
y 170.0
z 0.0
Z-Height 10.0
Rotation 0.0
Name Value
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle24
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1069.056
Width 45.0
y 140.0
Height 40.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle25
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1159.056
Width 45.0
y 160.0
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text72
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 45
Appearance
Color black
Alignment LEFT
Position and size
x 1164.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text73
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 8
Appearance
Color black
Alignment LEFT
Position and size
x 1224.056
y 145.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text75
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 48
Appearance
Color black
Alignment LEFT
Name Value
Position and size
x 1209.056
y 165.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval18
Name Value
General
Dynamic: Visible currentMonth>47 & P4P
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color yellowGreen
Line width 1.0
Line style solid
Position and size
Circle true
x 1239.056
Radius X 7.5
y 170.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle27
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1204.056
Width 45.0
y 140.0
Height 40.0
z 0.0
Z-Height 10.0
Rotation 0.0
Name Value
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle28
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1204.056
Width 45.0
y 160.0
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle32
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 740.0
Width 148.76691729323306
y 160.0
Height 39.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle34
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 740.0
Width 148.76691729323306
y 140.0
Height 40.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text82
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Payment Cycle
Appearance
Color black
Alignment LEFT
Position and size
x 774.056
y 145.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text83
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Performance Month
Appearance
Name Value
Color black
Alignment LEFT
Position and size
x 764.056
y 165.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text84
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Payment Scheduled | Issued
Appearance
Color black
Alignment LEFT
Position and size
x 749.056
y 185.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle33
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 889.0
Width 90.0
y 127.0
Height 53.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Name Value
Show in 2D and 3D
Show name false
Text: text81
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 2011
Appearance
Color black
Alignment LEFT
Position and size
x 921.0
y 127.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle35
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 979.0
Width 90.0
y 127.0
Height 53.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text85
Name Value
General
Show at runtime true
Name Value
Lock false
Embedded icon false
Public true
Text
Text 2012
Appearance
Color black
Alignment LEFT
Position and size
x 1011.0
y 127.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle36
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1069.0
Width 90.0
y 127.0
Height 53.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text86
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 2013
Appearance
Color black
Alignment LEFT
Name Value
Position and size
x 1101.0
y 127.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle37
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Line color black
Line width 1.0
Line style solid
Position and size
x 1159.0
Width 90.0
y 127.0
Height 53.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text87
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text 2014
Appearance
Color black
Alignment LEFT
Position and size
x 1191.0
y 127.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text74
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Calibration Values
Appearance
Color black
Alignment LEFT
Position and size
x -690.0
y 790.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text5
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Prop of Births
Dynamic: Text round(total_Bypassing_Births_m[max(currentMonth-1,0)]/total_Facility_Births_m[max(currentMonth-1,0)]*100)+"%"
Appearance
Color blue
Alignment LEFT
Position and size
x 840.0
y 840.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text24
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Percent of Facility
Births Bypassing
Name Value
Appearance
Color black
Alignment LEFT
Position and size
x 840.0
y 890.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text40
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text Month
Appearance
Color gray
Alignment LEFT
Position and size
x 1160.0
y 955.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Agent Presentation: women_presentation
Name Value
General
Show at runtime true
Public false
Position and size
Latitude 0.0
Longitude 0.0
Rotation 0.0
Scale Automatically calculated
Real size when map scale is under 1000
Fixed size when map scale is under 1000000000
Advanced
Show in 2D and 3D
Draw agent with offset to this position false
Show name false
Agent Presentation: facilities_presentation
Name Value
General
Show at runtime true
Public true
Position and size
Latitude 0.0
Longitude 0.0
Rotation 0.0
Scale Automatically calculated
Real size when map scale is under 1000
Fixed size when map scale is under 1000000000
Advanced
Show in 2D and 3D
Draw agent with offset to this position true
Show name false
Agent Presentation: manager_presentation
Name Value
General
Show at runtime true
Public true
Position and size
Latitude 0.0
Longitude 0.0
Rotation 0.0
Scale Automatically calculated
Real size when map scale is under 1000
Fixed size when map scale is under 1000000000
Advanced
Show in 2D and 3D
Draw agent with offset to this position false
Show name false
GIS Map: map
Name Value
General
Show at runtime true
Lock false
Public true
Tiles
Show tiles true
Tile provider AnyLogic
Routing
Routes are Requested from OSM server
Routing server AnyLogic
Routing method Fastest
Road type Car
If route not found Create straight route
Center and scale
Latitude -6.353688459132326
Longitude 38.863913632418885
Scale 800000
Appearance
Name Value
Border color silver
Fill color white
Position and size
x 320.0
Width 900.0
y 240.0
Height 500.0
Advanced
Use custom tile URL false
Use custom route provider false
Routes and regions generalization uses Current map scale true
Group: group
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Position and size
x 1360.0
y 480.0
z 0.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Stack Chart: chart
Name Value
General
Scale type Auto
Lock false
Public true
Data update
Analysis auto update false
Appearance
Bars relative width 1.0
Labels horizontal position DEFAULT
Chart Area Grid Color black
Position and size
x -130.0
Width 60.81081081081082
y 40.0
Height 21.62162162162162
Legend
Show legend false
Chart area
Chart Area: X Offset 10.0
Chart Area: Width 45.81081081081082
Chart Area: Y Offset 10.0
Name Value
Chart Area: Height 1.621621621621621
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Excel File: inputData
Name Value
General
File name ResourceReference: cosmic_abm.List of Variables.xlsx (Resolved: true)
Show at runtime true
Show name true
Advanced
Load on model startup true
Save on model termination true
Save in snapshot false
Link to agents: connections
Name Value
General
Show at runtime true
Show name true
Communication
Message type Object
Animation
Draw line false
Agent Type: Woman
Name Value
Agent actions
Startup code //closestFacility = this.getNearestAgent(main.facilities);
parity = prev_pregnancy;



//Initialize with some pregnant women as selected in the startup
if(randomTrue(main.PerPregInitiation)){
send("isPregnant", this);
day_of_pregnancy = -uniform(1,269);
}

//checkFacility();
Agent in flowcharts
Use in flowcharts as Agent
Dimensions and movement
Speed (10 : MPS)
Rotate animation towards movement true
Rotate vertically as well (along Z-axis) false
Space and network
Space Type Continuous
Advanced Java
Generic false
Advanced
Logging true
Name Value
Auto-create datasets true
AOC_DATASETS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Limit the number of data samples false
Scale: scale
Name Value
General
Unit meters
Scale 10.0
Type Defined graphically
Length, pixels 100.0
Show at runtime false
Lock false
Public false
Position and size
x 0.0
y -150.0
Name Value
Rotation 0.0
Parameter: education
Description: 4 categories: 0 for no education, 1 for some primary, 2 for primary/some secondary, 3 for secondary or above
Name Value
General
Array false
Default value 0//uniform_discr(0,3)
Type double
Show at runtime true
Show name true
Value editor
Label education
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description 4 categories: 0 for no education, 1 for some primary, 2 for primary/some secondary, 3 for secondary or above
Parameter: muslim
Description: binary variable 1 for muslim and 0 for non-muslim
Name Value
General
Array false
Default value 0 //uniform_discr(0,1)
Type int
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description binary variable 1 for muslim and 0 for non-muslim
Parameter: prev_pregnancy
Description: the unit for pregnancy is child/children eg previous pregnancy =1 indicate patient has had a single child
Name Value
General
Array false
Default value main.parityDistribution()
Type int
Show at runtime true
Show name true
Value editor
Label prev_pregnancy
Editor control Text
Advanced
Name Value
System dynamics units false
Save in snapshot true
Description
Description the unit for pregnancy is child/children eg previous pregnancy =1 indicate patient has had a single child
Parameter: SES
Description: 3 categories for socio economic status: 0 for poorest (Tercile 1), 1 for middle (Tercile 2), 2 for least poor (Tercile 3)
Name Value
General
Array false
Default value 0 //uniform_discr(0,2)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description 3 categories for socio economic status: 0 for poorest (Tercile 1), 1 for middle (Tercile 2), 2 for least poor (Tercile 3)
Parameter: anc_visits
Description: number of ANC visits attended for this pregnancy (pregnant woman is recommended to have at least 4 anc_visits)
Name Value
General
Array false
Default value uniform_discr(0,5)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description number of ANC visits attended for this pregnancy (pregnant woman is recommended to have at least 4 anc_visits)
Function: checkFacility
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body fCapacity= f.capacity_m[main.currentMonth]; //Get capacity
fOccupancy = f.inClinic.size(); //Get current occupancy plus 1 to include self
currentWeight= min(1,max(0,-((1-exp(-0.5*(fOccupancy-fCapacity)))
Name Value
/(1+exp(-0.5*(fOccupancy-fCapacity))))+(1+((1-exp(-0.5*(1-fCapacity)))/(1+exp(-0.5*(1-fCapacity)))))));
if(main.occupancyEffects == 0) currentWeight = 1;

new_patient_consultation_time = f.consultation_Time_m[main.currentMonth]*currentWeight+main.occupancyCushion;
new_patient_waiting_time = f.waiting_Time_m[main.currentMonth];
TBAs = f.incentive_TBA_m[main.currentMonth];
new_patient_drugs = f.drugs_avail_m[main.currentMonth];


new_patient_interpersonal_quality = f.interpersonal_Quality_m[main.currentMonth];//*currentWeight;
new_patient_kindness = f.Kindness_m[main.currentMonth];//*currentWeight;
new_patient_OOP = randomTrue(f.OOP_m[main.currentMonth])? 1:0;

Advanced
Access type default
System dynamics units false
Arguments:
Name Type
f Facility
Function: calcProbFacilityDelivery
Description: A function to calculate the probability (between 0 and 1) of delivering at a facility.
Name Value
General
Return type double
Return type: Returns value
Show at runtime true
Show name true
Function body
Body
fCapacity= f.capacity_m[main.currentMonth]; //Get capacity
fOccupancy = f.inClinic.size(); //Get current occupancy plus 1 to include self
currentWeight= 1 - pow((fOccupancy/fCapacity),3);
//min(1,max(0,-((1-exp(-0.5*(fOccupancy-fCapacity)))/(1+exp(-0.5*(fOccupancy-fCapacity))))+(1+((1-exp(-0.5*(1-fCapacity)))/(1+exp(-0.5*(1-fCapacity)))))));
if(main.occupancyEffects == 0) currentWeight = 1;

new_patient_consultation_time = f.consultation_Time_m[main.currentMonth]*currentWeight+main.occupancyCushion;
new_patient_waiting_time = f.waiting_Time_m[main.currentMonth];
TBAs = f.incentive_TBA_m[main.currentMonth];
new_patient_drugs = f.drugs_avail_m[main.currentMonth];


new_patient_interpersonal_quality = f.interpersonal_Quality_m[main.currentMonth];//*currentWeight;
new_patient_kindness = f.Kindness_m[main.currentMonth];//*currentWeight;
new_patient_OOP = randomTrue(f.OOP_m[main.currentMonth])? 1:0;

double travelT = getDistance(f.gisX,f.gisY,gisX,gisY)*500;

f_staff = f.number_staff_m[main.currentMonth];
f_outreach = f.outreach_m[main.currentMonth];
f_consTime = f.consultation_Time_m[main.currentMonth];

parity = prev_pregnancy>0 ?  1: 0; //Prepare pregnancy variable for reg
// [is now loaded, then updated] anc_over_4 = anc_visits>3 ?  1: 0; //Prepare ANC visits variable for reg

Name Value
//Updated December 6th, 2022
//Reduced model in the Appendix of Peter's Paper (reduced model, no ANC quality)
x_reg =  -0.126; //Intercept
x_reg =  x_reg + educCoefficients(education); //Education
x_reg =  x_reg + 0.472 * parity; //Previous Preganancy
x_reg =  x_reg + 0.336 * anc_over_4; //ANC Visits
x_reg =  x_reg + 0.012 * f.number_staff_m[main.currentMonth]; //Staffing
x_reg =  x_reg + 0.374 * f.outreach_m[main.currentMonth]; //Outreach
x_reg =  x_reg - 0.006 * new_patient_waiting_time; //Waiting Time
x_reg =  x_reg + 0.032 * new_patient_consultation_time; //Consult. Time
x_reg =  x_reg + 1.500 * new_patient_interpersonal_quality; //Interpersonal Staff
x_reg =  x_reg - 1.142 * new_patient_OOP; //Out of Pocket Expense for New Patient
x_reg =  x_reg + -0.012 * travelT; //Travel Time


pre_prob_delivery_at_facility= (exp(x_reg)) / (1 + (exp(x_reg))) ; //as in Abdullah's paper - Alibrahim and Wu (2018)
 
if(prev_pregnancy==0) new_patient_experience =0;
modifier_sum=(new_patient_experience * main.M1a) + (new_home_experience * main.M1b)+ (influences * main.M2) + (TBAs * main.M3);

//If mods are off in main, revert to probability model only
if(main.womenChoiceMods==0) return pre_prob_delivery_at_facility;


//For next delivery:
new_patient_experience_proportion = (0.4 * (new_patient_kindness / 10) + 0.4 * (new_patient_drugs/ 100) + 0.2 * (closestFacility.facility_gifts_m[main.currentMonth])) ;
if(uniform(0,1)<new_patient_experience_proportion) new_patient_experience = 1; //meaning good new patient experience at facility
else new_patient_experience = -1; //meaning bad new patient experience at facility


if(modifier_sum<0) return pre_prob_delivery_at_facility*(1+modifier_sum);
else return pre_prob_delivery_at_facility*(1+modifier_sum*(1-pre_prob_delivery_at_facility));

Advanced
Access type default
System dynamics units false
Description
Description A function to calculate the probability (between 0 and 1) of delivering at a facility.
Arguments:
Name Type
f Facility
Function: complicationProb
Description: Source: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4728153/
Name Value
General
Return type double
Return type: Returns value
Show at runtime true
Show name true
Name Value
Function body
Body return 0.46;
Advanced
Access type default
System dynamics units false
Description
Description Source: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4728153/
Function: update_influences
Description: update influences
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body //Create network of women if empty (run set up)
if(linkedWomen.isEmpty()){
for( int j=0; j<main.n_social; j++) {
Woman w = randomWhere(closestFacility.catchmentArea, p -> p != this && !linkedWomen.contains(p));
linkedWomen.add(w);
connectTo(w);
}
}


//Get experiences from linked women
for( int j=0; j<linkedWomen.size(); j++) {
Woman w = linkedWomen.get(j);
sum_linked_experience = sum_linked_experience + w.new_patient_experience*(w.inFacilityBirth ? 1:0);// + w.anc_exp; removed after 8/4/22 call
connectTo(w);
}

//if the positive and negative experiences of other women (linked to this woman) cancel each other out then setting influences to 0 means this term doesn't affect p
if(sum_linked_experience==0) influences = 0;

//if the net effect of the positive and negative experiences of other women (linked to this woman) gives a positive result overall then setting influences to 1 will act to increase p
if(sum_linked_experience>0) influences = 1;

//if the net effect of the positive and negative experiences of other women (linked to this woman) gives a negative result overall then setting influences to (-1) will act to reduce p
if(sum_linked_experience<0) influences = -1;
Advanced
Access type default
System dynamics units false
Description
Description update influences
Function: findNextClosestFacility
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Name Value
Body //double smallestDist = 1000000000;

for( int i=0; i<main.facilities.size(); i++) {
Facility f = main.facilities.get(i);
if(f != closestFacility) distantFacilities.add(f);
}

nextClosestFacility = this.getNearestAgent(distantFacilities);
bypassTravel_Time = getDistance(nextClosestFacility.gisX,nextClosestFacility.gisY,gisX,gisY)*500;


//Fix if closest facility is not catchment facility

if(bypassTravel_Time<travel_Time){
Facility temp = closestFacility;
double temp_travel = bypassTravel_Time;

closestFacility = nextClosestFacility;
bypassTravel_Time = travel_Time;
nextClosestFacility = temp;
travel_Time = temp_travel;
}
Advanced
Access type default
System dynamics units false
Function: getProbabilities
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body pDistantFacilityDelivery = calcProbFacilityDelivery(nextClosestFacility);
pFacilityDelivery = calcProbFacilityDelivery(closestFacility);
pBypass = (pDistantFacilityDelivery)/(pDistantFacilityDelivery+pFacilityDelivery+main.b);
Advanced
Access type default
System dynamics units false
Function: checkBypass
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body if(main.bypass == 0) deliveryFacility = closestFacility;
else{

if(uniform()<pBypass) bypass = 1;
else bypass = 0;

if(bypass == 1) deliveryFacility = nextClosestFacility;
else deliveryFacility = closestFacility;


if(bypass == 1){
nextClosestFacility.count_of_Bypass_to++;
closestFacility.count_of_Bypass_from++;
}
}
Name Value
Advanced
Access type default
System dynamics units false
Table Function: educCoefficients
Name Value
General
Out of range behavior Error
Interpolation None
Show at runtime true
Show name true
Table data
Load From Database false
Advanced
Access type public
System dynamics units false
Table Data:
Argument Value
0.0 0.0
1.0 0.402
2.0 0.599
3.0 1.935
Table Function: SESCoefficients
Name Value
General
Out of range behavior Error
Interpolation None
Show at runtime true
Show name true
Table data
Load From Database false
Advanced
Access type public
System dynamics units false
Table Data:
Argument Value
0.0 0.0
1.0 -0.0071089
2.0 0.8239178
Variable: closestFacility
Description: Closest facility to the woman
Name Value
General
Type Facility
Show at runtime true
Show name true
Advanced
Name Value
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Closest facility to the woman
Variable: new_patient_OOP
Description: binary variable 1 if patient had to pay for something during delivery and 0 if they did not
Name Value
General
Initial value uniform_discr(0,1);
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description binary variable 1 if patient had to pay for something during delivery and 0 if they did not
Variable: travel_Time
Description: Average travel time to facility (minutes)
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Average travel time to facility (minutes)
Variable: X
Description: X Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
Name Value
System dynamics units false
Description
Description X Coordinate
Variable: Y
Description: Y Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Y Coordinate
Variable: new_patient_consultation_time
Description: Patient-contact time, i.e. the total amount of time the health worker spends with the patient throughout the time she is in the facility (if she chooses to deliver in facility)
Name Value
General
Initial value uniform_discr(0,15)
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Patient-contact time, i.e. the total amount of time the health worker spends with the patient throughout the time she is in the facility (if she chooses to deliver in facility)
Variable: new_patient_interpersonal_quality
Description: interpersonal_quality score for facility (when deliver in facility)
Name Value
General
Initial value uniform_discr(1,6);
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Name Value
Description
Description interpersonal_quality score for facility (when deliver in facility)
Variable: new_patient_kindness
Name Value
General
Initial value uniform_discr(1,10);
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: day_of_pregnancy
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: pregnant_days
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: pregnant
Name Value
General
Initial value false
Type boolean
Show at runtime true
Show name true
Advanced
Name Value
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: currentWeight
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: fCapacity
Description: Capacity at facility when checked
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Capacity at facility when checked
Variable: new_patient_drugs
Name Value
General
Initial value uniform_discr(1,10);
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: new_patient_experience_proportion
Name Value
General
Type double
Name Value
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: new_patient_experience
Description: An experience indicator taking a value of 1 (good) or -1 (bad) with the probability of taking a value of +1 equal to:

0.4*kindess + 0.4*drugs + 0.2*gifts (each variable normalized to 0 or 1, obtained in the checkFacility function)
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description An experience indicator taking a value of 1 (good) or -1 (bad) with the probability of taking a value of +1 equal to:

0.4*kindess + 0.4*drugs + 0.2*gifts (each variable normalized to 0 or 1, obtained in the checkFacility function)
Variable: fOccupancy
Description: Occupancy at facility when checked
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Occupancy at facility when checked
Variable: prob_delivery_at_facility
Description: Y Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Name Value
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Y Coordinate
Variable: new_patient_waiting_time
Description: Facility average waiting time in mins = time since arrive until enters consultation room / receives a service (from exit survey – didn’t include delivery) – used as a proxy for facility reputation in the regression model.
Name Value
General
Initial value uniform_discr(0,15)
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Facility average waiting time in mins = time since arrive until enters consultation room / receives a service (from exit survey – didn’t include delivery) – used as a proxy for facility reputation in the regression model.
Variable: parity
Description: binary variable: 1 for first delivery and 0 for  not
Is set at the calcPorbFacilityDelivery function in this agent
Name Value
General
Initial value 1
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description binary variable: 1 for first delivery and 0 for  not
Is set at the calcPorbFacilityDelivery function in this agent
Variable: modifier_sum
Description: x value used for regression
Name Value
General
Initial value 1
Type double
Name Value
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description x value used for regression
Variable: new_home_experience
Description: Experience score from most recent delivery at home: 'experience' is a hypothetical binary composite score used to determine whether or not woman would recommend home delivery (but with 'bad' home experience being represented by 1 rather than -1, and vice versa, to align with direction of influences on likelihood of facility delivery)
Name Value
General
Initial value randomTrue(complicationProb())? 1:-1
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Experience score from most recent delivery at home: 'experience' is a hypothetical binary composite score used to determine whether or not woman would recommend home delivery (but with 'bad' home experience being represented by 1 rather than -1, and vice versa, to align with direction of influences on likelihood of facility delivery)
Variable: anc_exp
Description: variable for most recent experience of ANC (linked to data on ANC quality index for facility, which is a percentage). Having no ANC visits results in value 0. A positive experience scores 1 and negative experience scores -1.
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description variable for most recent experience of ANC (linked to data on ANC quality index for facility, which is a percentage). Having no ANC visits results in value 0. A positive experience scores 1 and negative experience scores -1.
Variable: influences
Description: score from across all other women influencing a women's probability of delivering in a facility
Name Value
General
Initial value randomTrue(complicationProb())? 1:-1;
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description score from across all other women influencing a women's probability of delivering in a facility
Variable: TBAs
Description: binary variable for modifier: set to 0 if no traditional birth attendants encouraged woman to delivery in a facility and set to 1 if they did encourage her to deliver in facility (increasing the probability of facility delivery)
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description binary variable for modifier: set to 0 if no traditional birth attendants encouraged woman to delivery in a facility and set to 1 if they did encourage her to deliver in facility (increasing the probability of facility delivery)
Variable: sum_linked_experience
Description: 'experience' is a binary composite score combining kindness and availability of drugs and gifts, used to determine whether or not woman would recommend facility delivery, whereas anc_exp is based on percentage score for ANC quality index
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description 'experience' is a binary composite score combining kindness and availability of drugs and gifts, used to determine whether or not woman would recommend facility delivery, whereas anc_exp is based on percentage score for ANC quality index
Variable: anc_over_4
Description: binary variable: 1 for over 4 ANC visits
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description binary variable: 1 for over 4 ANC visits
Variable: inFacilityBirth
Description: x value used for regression
Name Value
General
Initial value false
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description x value used for regression
Variable: occupancyEffectBirth
Description: x value used for regression
Name Value
General
Initial value false
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description x value used for regression
Variable: inFacilityBirthAfterHome
Description: x value used for regression
Name Value
General
Initial value false
Name Value
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description x value used for regression
Variable: x_reg
Description: x value used for regression
Name Value
General
Initial value 1
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description x value used for regression
Variable: f_staff
Description: staff
Name Value
General
Initial value 1
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description staff
Variable: f_outreach
Description: outreach
Name Value
General
Initial value 1
Type double
Show at runtime true
Name Value
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description outreach
Variable: f_consTime
Description: constime
Name Value
General
Initial value 1
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description constime
Variable: pre_prob_delivery_at_facility
Description: Y Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Y Coordinate
Variable: nextClosestFacility
Description: Closest facility to the woman
Name Value
General
Type Facility
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Name Value
Save in snapshot true
System dynamics units false
Description
Description Closest facility to the woman
Variable: deliveryFacility
Description: Closest facility to the woman
Name Value
General
Type Facility
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Closest facility to the woman
Variable: bypass
Description: binary variable 1 if patient had to pay for something during delivery and 0 if they did not
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description binary variable 1 if patient had to pay for something during delivery and 0 if they did not
Variable: bypassTravel_Time
Description: Average travel time to facility (minutes)
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Name Value
Description Average travel time to facility (minutes)
Variable: gisX
Description: X Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description X Coordinate
Variable: gisY
Description: Y Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Y Coordinate
Variable: pFacilityDelivery
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: pBypass
Name Value
General
Type double
Show at runtime true
Show name true
Name Value
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: pDistantFacilityDelivery
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Collection: linkedWomen
Name Value
General
Initial contents {}
Initial contents {}
Element class Woman
Collection class ArrayList
Show at runtime true
Show name true
Advanced
Access type public
Save in snapshot true
Collection: distantFacilities
Name Value
General
Initial contents {}
Initial contents {}
Element class Facility
Collection class ArrayList
Show at runtime true
Show name true
Advanced
Access type public
Save in snapshot true
Rectangle: rectangle4
Name Value
General
Show at runtime true
Lock false
Name Value
Public false
Appearance
Fill color new Color(224, 245, 245)
Line color black
Line width 1.0
Line style solid
Position and size
x 860.0
Width 360.0
y 220.0
Height 500.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle6
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color whiteSmoke
Line color black
Line width 1.0
Line style solid
Position and size
x 540.0
Width 300.0
y 350.0
Height 700.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle5
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color white
Line color black
Line width 1.0
Line style solid
Name Value
Position and size
x 540.0
Width 300.0
y 10.0
Height 330.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Woman Characteristics
Appearance
Color black
Alignment LEFT
Position and size
x 570.0
y 20.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text1
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Facility Characteristics
Appearance
Color black
Alignment LEFT
Position and size
x 570.0
y 360.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Oval: oval
Name Value
General
Show at runtime false
Lock false
Embedded icon false
Public true
Appearance
Fill color silver
Line color black
Dynamic: Line Color closestFacility.facility_color
Line width 4.0
Line style solid
Position and size
Circle true
x 0.0
Radius X 12.0625
y 0.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
On click _origin_VA.navigateTo();
Show name false
Oval: oval1
Name Value
General
Dynamic: Visible pregnant;
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color white
Line color black
Line width 1.0
Line style solid
Position and size
Circle true
x 0.0
Radius X 4.75
y 0.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
On click _origin_VA.navigateTo();
Show name false
Text: text2
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Facility Experience
Appearance
Color black
Alignment LEFT
Position and size
x 570.0
y 530.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text3
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Calculating Probability
of Facility Delivery
Appearance
Color black
Alignment LEFT
Position and size
x 880.0
y 240.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text4
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Home Experience
Appearance
Color black
Alignment LEFT
Position and size
Name Value
x 570.0
y 820.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text5
Name Value
General
Dynamic: Visible occupancyEffectBirth & pregnant;
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text !
Appearance
Color black
Alignment LEFT
Position and size
x 0.0
y -25.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle7
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color white
Line color black
Line width 1.0
Line style solid
Position and size
x 0.0
Width 520.0
y 130.0
Height 730.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text23
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Delivery and Decision Cycle
Appearance
Color black
Alignment LEFT
Position and size
x 120.0
y 140.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text6
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text at home
complication
Appearance
Color black
Alignment CENTER
Position and size
x 195.0
y 635.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Link to agents: connections
Name Value
General
Show at runtime true
Show name true
Communication
Message type Object
Animation
Draw line true
Line Z Order Draw behind agents
Name Value
Line color black
Line width 1.0
Line style solid
Line arrows None
Agent Type: Facility
Name Value
Agent in flowcharts
Use in flowcharts as Agent
Dimensions and movement
Speed (10 : MPS)
Rotate animation towards movement true
Rotate vertically as well (along Z-axis) false
Space and network
Space Type Continuous
Advanced Java
Generic false
Advanced
Logging true
Auto-create datasets true
AOC_DATASETS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Limit the number of data samples false
Scale: scale
Name Value
Name Value
General
Unit meters
Scale 10.0
Type Defined graphically
Length, pixels 100.0
Show at runtime false
Lock false
Public false
Position and size
x 0.0
y -150.0
Rotation 0.0
Parameter: baseline_num_patients
Description: number of patients who delivered in the baseline (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Array false
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description number of patients who delivered in the baseline (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Parameter: number_staff
Description: Number of medical staff (clinicians, nurses, paramedics)
Name Value
General
Array false
Default value uniform_discr(1,5)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Number of medical staff (clinicians, nurses, paramedics)
Parameter: outreach
Description: Binary variable: 1 if facility conducted outreach service in last 90 days’ and 0 otherwise. Outreach activities to provide education to the community on maternal and child health.
Name Value
General
Array false
Default value uniform_discr(0,1)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Binary variable: 1 if facility conducted outreach service in last 90 days’ and 0 otherwise. Outreach activities to provide education to the community on maternal and child health.
Parameter: waiting_Time_BL
Description: Facility average waiting time in mins at baseline (and remaining static in model) = time since arrive until enters consultation room / receives a service (from exit survey – didn’t include delivery) – used as a proxy for facility reputation in the regression model.
Name Value
General
Array false
Default value uniform_discr(0,15)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Facility average waiting time in mins at baseline (and remaining static in model) = time since arrive until enters consultation room / receives a service (from exit survey – didn’t include delivery) – used as a proxy for facility reputation in the regression model.
Parameter: consultation_Time_BL
Description: Facility average consultation time in mins at baseline = (sum of all the values from from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility at baseline)
Name Value
General
Array false
Default value uniform_discr(0,15)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Name Value
Description Facility average consultation time in mins at baseline = (sum of all the values from from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility at baseline)
Parameter: interpersonal_Quality_BL
Name Value
General
Array false
Default value uniform_discr(0,6)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Parameter: anc_quality
Description: percentage (for 'experience')
Name Value
General
Array false
Default value uniform_discr(1,100)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description percentage (for 'experience')
Parameter: drugs_avail
Description: percentage drug availability (for 'experience')
Name Value
General
Array false
Default value uniform_discr(1,100)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description percentage drug availability (for 'experience')
Parameter: facility_gifts
Description: binary variable 1 if gifts offered to women delivering in the facility (like cloth/soap/tea/other useful things), 0 if no gifts offered (for 'experience')
Name Value
General
Array false
Default value 0
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description binary variable 1 if gifts offered to women delivering in the facility (like cloth/soap/tea/other useful things), 0 if no gifts offered (for 'experience')
Parameter: incentive_TBA
Description: BL provision of the incentives to the traditional birth attendants (TBAs) upon bringing women to deliver in the HF. Binary variable (1 if incentives given and 0 if not).
Name Value
General
Array false
Default value 1
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description BL provision of the incentives to the traditional birth attendants (TBAs) upon bringing women to deliver in the HF. Binary variable (1 if incentives given and 0 if not).
Parameter: capacity_limit
Description: Limit on number of patients that can deliver in the facility within timestep. This is the value where demand is so high (x-axis) that quality or consultation time or kindness (y-axis) becomes 0, i.e. how many patients can facility cope with before unable to accept more patients
Name Value
General
Array false
Default value uniform_discr(3,6)
Type int
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
Name Value
System dynamics units false
Save in snapshot true
Description
Description Limit on number of patients that can deliver in the facility within timestep. This is the value where demand is so high (x-axis) that quality or consultation time or kindness (y-axis) becomes 0, i.e. how many patients can facility cope with before unable to accept more patients
Parameter: rural
Description: 1 if facility is in a rural area
Name Value
General
Array false
Default value 1
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description 1 if facility is in a rural area
Parameter: OOP
Description: OOP Percentage
Name Value
General
Array false
Default value uniform_discr(0,1)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description OOP Percentage
Parameter: kindness
Description: 1 if facility is in a rural area
Name Value
General
Array false
Default value uniform_discr(0,1)
Type double
Show at runtime true
Show name true
Name Value
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description 1 if facility is in a rural area
Parameter: bl_in_facility_birth_rate
Description: Starting rates of births at facility as read from the input data table
Name Value
General
Array false
Default value 0
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Starting rates of births at facility as read from the input data table
Parameter: sizeofCatchment
Description: Number of child bearing-aged women in catchment area of each facility based read from input file
Name Value
General
Array false
Default value 0
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Number of child bearing-aged women in catchment area of each facility based read from input file
Parameter: targetCalculation
Description: Baseline value used by the program to calculate the target in the first performance cycle
Name Value
General
Array false
Default value 0
Type double
Show at runtime true
Name Value
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description Baseline value used by the program to calculate the target in the first performance cycle
Parameter: locMod
Description: percentage (for 'experience')
Name Value
General
Array false
Default value uniform_discr(1,100)
Type double
Show at runtime true
Show name true
Value editor
Editor control Text
Advanced
System dynamics units false
Save in snapshot true
Description
Description percentage (for 'experience')
Function: monthlyUpdate
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body //Add last month events to datasets
all_facility_Complications.add(main.currentMonth+1,count_of_Complications);
in_facility_Complications.add(main.currentMonth+1,count_of_Facility_Complications);
home_Complications.add(main.currentMonth+1,count_of_Home_Complications);
miscarriage_ds.add(main.currentMonth+1,count_of_Miscarriage);
Home_Births_ds.add(main.currentMonth+1,count_of_Home_Births);
all_births_ds.add(main.currentMonth+1,count_of_Births);
in_Facility_Births_ds.add(main.currentMonth+1, count_of_in_Facility_Births);
all_bypassed_to.add(main.currentMonth+1, count_of_Bypass_to);
all_bypassed_from.add(main.currentMonth+1, count_of_Bypass_from);
Facility_OC_Births_ds.add(main.currentMonth+1, count_of_OC_Births);

prop_births_in_facility_m[main.currentMonth+1] = count_of_in_Facility_Births/count_of_Births;
Exp_Kindness_m[main.currentMonth+1] = Exp_Kindness_inMonth.mean();
Exp_IPQ_m[main.currentMonth+1] = Exp_IPQ_inMonth.mean();
consultation_Time_m[main.currentMonth+1] = Exp_ConsTime_inMonth.mean();
travelTime_m[main.currentMonth+1] = Exp_TravelTime_inMonth.
Name Value
mean();
OOP_m[main.currentMonth+1] = Exp_OOP_inMonth.mean();

//In case of few births births in year, take OOP from previous year since a single flip can cause major change in OOP
if(Exp_OOP_inMonth.count()<2) OOP_m[main.currentMonth+1] = OOP_m[main.currentMonth];


//The following code reads the characteristics from the previous year and assigns them to the next year (by default)
//If there are affects due to a bonus or due to a manager visit, these will be changed in the a different function
number_staff_m[main.currentMonth+1] = number_staff_m[main.currentMonth];
outreach_m[main.currentMonth+1] = outreach_m[main.currentMonth];
waiting_Time_m[main.currentMonth+1] = waiting_Time_m[main.currentMonth];
interpersonal_Quality_m[main.currentMonth+1] = interpersonal_Quality_m[main.currentMonth];
anc_quality_m[main.currentMonth+1] = anc_quality_m[main.currentMonth];
drugs_avail_m[main.currentMonth+1] = drugs_avail_m[main.currentMonth];
incentive_TBA_m[main.currentMonth+1] = incentive_TBA_m[main.currentMonth];
facility_gifts_m[main.currentMonth+1] = facility_gifts_m[main.currentMonth];
Kindness_m[main.currentMonth+1] = Kindness_m[main.currentMonth];
bonus_m[main.currentMonth+1] = bonus_percentage;

capacity_m[main.currentMonth+1] = capacity_m[main.currentMonth];



//Update charts
complications_Chart.updateData();
home_vs_clinic_chart.updateData();
performancePlot.updateData();
performancePlot1.updateData();
plot.updateData();


//Update Community Reports
main.total_Births_m[main.currentMonth] += count_of_Births;
main.total_Home_Births_m[main.currentMonth] += count_of_Home_Births;
main.total_Facility_Births_m[main.currentMonth] += count_of_in_Facility_Births;
main.total_Bypassing_Births_m[main.currentMonth] += count_of_Bypass_to;
main.total_Miscarriages_m[main.currentMonth] += count_of_Miscarriage;
main.total_Complications_m[main.currentMonth] += count_of_Home_Complications+count_of_Facility_Complications;
main.total_Facility_Refused_m[main.currentMonth] += count_of_OC_Births;

//Reset the counters
count_of_Complications=0;
count_of_Facility_Complications=0;
count_of_Home_Complications=0;
count_of_Miscarriage=0;
count_of_Births=0;
count_of_in_Facility_Births=0;
count_of_Home_Births=0;
count_of_OC_Births = 0;
count_of_Bypass_to = 0;
count_of_Bypass_from = 0;
Exp_Kindness_inMonth.reset();
Exp_IPQ_inMonth.reset();
Exp_ConsTime_inMonth.reset();
Exp_OOP_inMonth.reset();
Exp_TravelTime_inMonth.reset();


if(main.P4P) {
//End of performance cycle?
if(arrayContains(main.PerformanceCycle,main.currentMonth))
Name Value
send("endOfCycle", this);

//Payment due?
if(arrayContains(main.PaymentSchedule,main.currentMonth)){

//if(main.PaymentSchedule[perCycle] == main.PaymentEvents[perCycle]) send("onTimePayment", this);
send("bonusDue", this);
}

//if(bonus_percentage_6m[payCycle]== 0) send("noBonusEarned", this);


//Payment made?
if(arrayContains(main.PaymentEvents,main.currentMonth)) send("bonusPaid", this);

}
/*


if(arrayContains(main.PaymentEvent,main.currentMonth)) {//Checks if there is a payment in this period
f_bonusChanges(bonus_percentage_6m[main.bonusPeriod]);
//inDelay = false;
//bonus_payment[main.currentMonth]=1;
}


int m = main.currentMonth;
if(m>=main.PaymentSchedule[main.bonusPeriod] & m<main.PaymentEvents[main.bonusPeriod] & bonus_percentage_6m[max(0,main.bonusPeriod-1)] > 0){
//delayedPayment_m[m] = 1;
//delayChanges();
}
}
*/
Advanced
Access type default
System dynamics units false
Function: bonusFunction
Name Value
General
Return type double
Return type: Returns value
Show at runtime true
Show name true
Function body
Body if(indicatorVal >= targetVal) return 1;

if(targetVal == 0 & percentage_deliveries_thisfacility_6mths[sixMonthCounter+1]>=0.85){
return 1;
}

if(indicatorVal >= targetVal * 0.75) return 0.5;
else return 0;
Advanced
Access type default
System dynamics units false
Arguments:
Name Type
indicatorVal double
targetVal double
Function: setBLvalues
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body number_staff_6m[0] = number_staff;
outreach_6m[0] = outreach;
waiting_Time_6m[0] = waiting_Time_BL;
consultation_Time_6m[0] = consultation_Time_BL;
interpersonal_Quality_6m[0] = interpersonal_Quality_BL;
anc_quality_6m[0] = anc_quality;
drugs_avail_6m[0] = drugs_avail;
incentive_TBA_6m[0] = incentive_TBA;
facility_gifts_6m[0] = facility_gifts;
capacity_6m[0] = capacity_limit;
OOP_6m[0] = OOP;
Kindness_6m[0] = kindness;

number_staff_m[0] = number_staff;
outreach_m[0] = outreach;
waiting_Time_m[0] = waiting_Time_BL;
consultation_Time_m[0] = consultation_Time_BL;
interpersonal_Quality_m[0] = interpersonal_Quality_BL;
Exp_IPQ_m[0] = interpersonal_Quality_BL;
anc_quality_m[0] = anc_quality;
drugs_avail_m[0] = drugs_avail;
incentive_TBA_m[0] = incentive_TBA;
facility_gifts_m[0] = facility_gifts;
capacity_m[0] = capacity_limit;
OOP_m[0] = OOP;
Kindness_m[0] = kindness;
Exp_Kindness_m[0] = kindness;


prop_births_in_facility_m[0] = bl_in_facility_birth_rate;
in_Facility_Births_ds.add(0,bl_in_facility_birth_rate);
Facility_OC_Births_ds.add(0, 0);
Home_Births_ds.add(0,1-bl_in_facility_birth_rate);
all_births_ds.add(0,1);
Advanced
Access type default
System dynamics units false
Function: delayChanges
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body inDelay = true;
delayedPayment_m[main.currentMonth] = 1;
//Drugs are set to 0, and incentives and outreach are stopped
drugs_avail_m[main.currentMonth] = max(0,drugs_avail_m[main.currentMonth]-10);
incentive_TBA_m[main.currentMonth] = 0;
outreach_m[main.currentMonth] = 0;

int pp = preDelayPeriod; //back to evaluation period changes
interpersonal_Quality_m[main.currentMonth] = min(0.6,interpersonal_Quality_m[main.currentMonth]-0.1);
facility_gifts_m[main.currentMonth] = min(0,facility_gifts_m[pp]);
OOP_m[main.currentMonth] = min(1,OOP_m[pp]+0.10); //Added max to pick it up from 0 //Post-Calibration
Kindness_m[main.currentMonth] = max(Kindness_m[main.currentMonth]-1,5);//min(5,Kindness_m[pp]);
Name Value
Advanced
Access type default
System dynamics units false
Function: StaffResponse
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body if(bonus_percentage == 0.5){
interpersonal_Quality_m[main.currentMonth] = max(0.8,interpersonal_Quality_m[main.currentMonth-1]);
Kindness_m[main.currentMonth] = max(8,Kindness_m[main.currentMonth-1]);
}

if(bonus_percentage == 1){
interpersonal_Quality_m[main.currentMonth] = 1;
Kindness_m[main.currentMonth] = 10;
}
Advanced
Access type default
System dynamics units false
Table Function: f_targetTable
Name Value
General
Out of range behavior Error
Interpolation Step
Show at runtime true
Show name true
Table data
Load From Database false
Advanced
Access type public
System dynamics units false
Table Data:
Argument Value
0.0 0.15
0.2 0.1
0.4 0.05
0.7 0.05
0.85 0.0
1.0 0.0
100.0 0.0
Variable: num_new_patients
Description: number of new patients who have delivered in facility since baseline (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (b). New patients include those choosing to deliver in facility even if results in stillbirth during labour or neonatal death.
Name Value
General
Name Value
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new patients who have delivered in facility since baseline (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (b). New patients include those choosing to deliver in facility even if results in stillbirth during labour or neonatal death.
Variable: current_count_patients
Description: number of patients delivering in the facility during that timestep
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients delivering in the facility during that timestep
Variable: count_of_Births
Description: number of new births (since baseline) among all women linked to this facility (in this catchment area), even if delivered in referred to facility/hospitals. Stillbirths during labour and neonatal deaths are also counted within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too).
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new births (since baseline) among all women linked to this facility (in this catchment area), even if delivered in referred to facility/hospitals. Stillbirths during labour and neonatal deaths are also counted within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too).
Variable: count_of_Complications
Description: number of new women (since baseline) with complications among all women linked to this facility (in this catchment area).
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new women (since baseline) with complications among all women linked to this facility (in this catchment area).
Variable: count_of_Facility_Complications
Description: number of new women (since baseline) with complications who choose to deliver in this facility.
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new women (since baseline) with complications who choose to deliver in this facility.
Variable: count_of_Home_Complications
Description: Number of women who deliver at home but have (unexpected) complications at the point of labour (e.g. needing Comprehensive Emergency Obstetric Care (CEmOC)), since baseline
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Number of women who deliver at home but have (unexpected) complications at the point of labour (e.g. needing Comprehensive Emergency Obstetric Care (CEmOC)), since baseline
Variable: X
Description: X Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description X Coordinate
Variable: Y
Description: Y Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Y Coordinate
Variable: percentage_deliveries_thisfacility_6mths
Description: Percentage of all births in catchment area that were facility deliveries in this facility during the 6 month period between bonus opportunities
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Percentage of all births in catchment area that were facility deliveries in this facility during the 6 month period between bonus opportunities
Variable: target
Description: target percentage of births that are in facility
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description target percentage of births that are in facility
Variable: indicator
Description: used to compare to target for bonus
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description used to compare to target for bonus
Variable: bonus_percentage
Description: set to 1 if receive full bonus, 0.5 if receive 50% of bonus, 0 if receive no bonus
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description set to 1 if receive full bonus, 0.5 if receive 50% of bonus, 0 if receive no bonus
Variable: facility_color
Description: X Coordinate
Name Value
General
Type Color
Show at runtime true
Show name true
Name Value
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description X Coordinate
Variable: count_of_Miscarriage
Description: number of new women (since baseline) with complications who choose to deliver in this facility.
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new women (since baseline) with complications who choose to deliver in this facility.
Variable: count_of_in_Facility_Births
Description: number of new births (since baseline) in this facility
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new births (since baseline) in this facility
Variable: sixMonthCounter
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Name Value
Save in snapshot true
System dynamics units false
Variable: count_of_Births_6mnths
Description: number of new births (since baseline) among all women linked to this facility (in this catchment area), even if delivered in referred to facility/hospitals. Stillbirths during labour and neonatal deaths are also counted within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too).
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new births (since baseline) among all women linked to this facility (in this catchment area), even if delivered in referred to facility/hospitals. Stillbirths during labour and neonatal deaths are also counted within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too).
Variable: count_of_in_Facility_Births_6mnths
Description: number of new births (since baseline) in this facility
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new births (since baseline) in this facility
Variable: number_staff_6m
Description: number of patients who delivered in the baseline (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Name Value
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients who delivered in the baseline (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Variable: waiting_Time_6m
Description: Facility average waiting time in mins at baseline (and remaining static in model) = time since arrive until enters consultation room / receives a service (from exit survey – didn’t include delivery) – used as a proxy for facility reputation in the regression model.
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Facility average waiting time in mins at baseline (and remaining static in model) = time since arrive until enters consultation room / receives a service (from exit survey – didn’t include delivery) – used as a proxy for facility reputation in the regression model.
Variable: outreach_6m
Description: Binary variable: 1 if facility conducted outreach service in last 90 days’ and 0 otherwise. Outreach activities to provide education to the community on maternal and child health.
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Binary variable: 1 if facility conducted outreach service in last 90 days’ and 0 otherwise. Outreach activities to provide education to the community on maternal and child health.
Variable: consultation_Time_6m
Description: Facility average consultation time in mins at baseline = (sum of all the values from from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility)
Name Value
General
Name Value
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Facility average consultation time in mins at baseline = (sum of all the values from from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility)
Variable: interpersonal_Quality_6m
Description: Facility average interpersonal_quality score at baseline = (sum of all the scores from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility). (f)
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Facility average interpersonal_quality score at baseline = (sum of all the scores from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility). (f)
Variable: anc_quality_6m
Description: percentage (for 'experience')
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description percentage (for 'experience')
Variable: drugs_avail_6m
Description: percentage drug availability (for 'experience')
Name Value
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description percentage drug availability (for 'experience')
Variable: incentive_TBA_6m
Description: provision of the incentives to the traditional birth attendants (TBAs) upon bringing women to deliver in the HF. Binary variable (1 if incentives given and 0 if not) for each 6-month period
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description provision of the incentives to the traditional birth attendants (TBAs) upon bringing women to deliver in the HF. Binary variable (1 if incentives given and 0 if not) for each 6-month period
Variable: facility_gifts_6m
Description: binary variable 1 if gifts offered to women delivering in the facility (like cloth/soap/tea/other useful things), 0 if no gifts offered (for 'experience')
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description binary variable 1 if gifts offered to women delivering in the facility (like cloth/soap/tea/other useful things), 0 if no gifts offered (for 'experience')
Variable: capacity_6m
Description: updates for capacity changes
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description updates for capacity changes
Variable: bonus_percentage_6m
Description: A record of all the bonus payments received by the clinic
Name Value
General
Initial value new double[main.sim_dur_6months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description A record of all the bonus payments received by the clinic
Variable: count_of_Home_Births
Description: number of new births (since baseline) in this facility
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new births (since baseline) in this facility
Variable: count_of_OC_Births
Description: Count of births that would have happend at facility but facility is at capacity
Name Value
General
Initial value 0
Name Value
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Count of births that would have happend at facility but facility is at capacity
Variable: count_of_OC_Births_6mnths
Description: Count of over-capacity births that would have been in facility - but is not because the facility is at capacity.
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Count of over-capacity births that would have been in facility - but is not because the facility is at capacity.
Variable: count_of_TBAreferred_comp
Description: number of new women (since baseline) with complications who choose to deliver in this facility.
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new women (since baseline) with complications who choose to deliver in this facility.
Variable: facility_name
Name Value
General
Type String
Show at runtime true
Show name true
Advanced
Name Value
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: OOP_6m
Description: updates for OOP changes
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description updates for OOP changes
Variable: Kindness_6m
Description: updates for kindness changes
Name Value
General
Initial value new double[main.sim_dur_6months+1]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description updates for kindness changes
Variable: number_staff_m
Description: number of patients who delivered in the baseline (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
Name Value
System dynamics units false
Description
Description number of patients who delivered in the baseline (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Variable: waiting_Time_m
Description: Facility average waiting time in mins at baseline (and remaining static in model) = time since arrive until enters consultation room / receives a service (from exit survey – didn’t include delivery) – used as a proxy for facility reputation in the regression model.
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Facility average waiting time in mins at baseline (and remaining static in model) = time since arrive until enters consultation room / receives a service (from exit survey – didn’t include delivery) – used as a proxy for facility reputation in the regression model.
Variable: outreach_m
Description: Binary variable: 1 if facility conducted outreach service in last 90 days’ and 0 otherwise. Outreach activities to provide education to the community on maternal and child health.
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Binary variable: 1 if facility conducted outreach service in last 90 days’ and 0 otherwise. Outreach activities to provide education to the community on maternal and child health.
Variable: consultation_Time_m
Description: Facility average consultation time in mins at baseline = (sum of all the values from from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility)
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Name Value
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Facility average consultation time in mins at baseline = (sum of all the values from from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility)
Variable: interpersonal_Quality_m
Description: Facility average interpersonal_quality score at baseline = (sum of all the scores from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility). (f)
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Facility average interpersonal_quality score at baseline = (sum of all the scores from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility). (f)
Variable: anc_quality_m
Description: percentage (for 'experience')
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description percentage (for 'experience')
Variable: drugs_avail_m
Description: percentage drug availability (for 'experience')
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Name Value
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description percentage drug availability (for 'experience')
Variable: incentive_TBA_m
Description: provision of the incentives to the traditional birth attendants (TBAs) upon bringing women to deliver in the HF. Binary variable (1 if incentives given and 0 if not) for each 6-month period
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description provision of the incentives to the traditional birth attendants (TBAs) upon bringing women to deliver in the HF. Binary variable (1 if incentives given and 0 if not) for each 6-month period
Variable: facility_gifts_m
Description: binary variable 1 if gifts offered to women delivering in the facility (like cloth/soap/tea/other useful things), 0 if no gifts offered (for 'experience')
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description binary variable 1 if gifts offered to women delivering in the facility (like cloth/soap/tea/other useful things), 0 if no gifts offered (for 'experience')
Variable: capacity_m
Description: updates for capacity changes
Name Value
General
Name Value
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description updates for capacity changes
Variable: OOP_m
Description: updates for OOP changes
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description updates for OOP changes
Variable: Kindness_m
Description: updates for kindness changes
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description updates for kindness changes
Variable: prop_births_in_facility_m
Description: Monthly percentage of births in a given facility compared to total births
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Name Value
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Monthly percentage of births in a given facility compared to total births
Variable: bonus_m
Description: List of bonuses during every month of the simulation for the facility
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description List of bonuses during every month of the simulation for the facility
Variable: dm_visit_m
Description: list of 0 and 1 - where 1 indicates the district manager visited the facility during corresponding month
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description list of 0 and 1 - where 1 indicates the district manager visited the facility during corresponding month
Variable: preVisitIndicator
Name Value
General
Initial value false
Type boolean
Show at runtime true
Show name true
Name Value
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: inVisitIndicator
Name Value
General
Initial value false
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: preVisitIncrease
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: Exp_Kindness_m
Description: updates for kindness changes
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description updates for kindness changes
Variable: Exp_IPQ_m
Description: Facility average interpersonal_quality score at baseline = (sum of all the scores from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility). (f)
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Facility average interpersonal_quality score at baseline = (sum of all the scores from all patients who delivered at that facility at baseline)/(number of patients who delivered in that facility). (f)
Variable: delayedPayment_m
Description: list of 0 and 1 - where 1 indicates a payment was expected but not received during that month
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description list of 0 and 1 - where 1 indicates a payment was expected but not received during that month
Variable: m
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: inDelay
Name Value
General
Initial value false
Type boolean
Show at runtime true
Show name true
Advanced
Name Value
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: delayMitigated_m
Description: list of 0 and 1 - where 1 indicates a payment was expected but not received during that month
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description list of 0 and 1 - where 1 indicates a payment was expected but not received during that month
Variable: travelTime_m
Description: List of bonuses during every month of the simulation for the facility
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description List of bonuses during every month of the simulation for the facility
Variable: strategy_shared_m
Description: list of 0 and 1 - where 1 indicates the district manager visited the facility during corresponding month
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Name Value
Description
Description list of 0 and 1 - where 1 indicates the district manager visited the facility during corresponding month
Variable: preVisKindness
Name Value
General
Initial value 10
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: preVisIPQ
Name Value
General
Initial value 1
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: bonus_payment
Description: list of 0 and 1 - where 1 indicates a payment was expected but not received during that month
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description list of 0 and 1 - where 1 indicates a payment was expected but not received during that month
Variable: prevBonus
Name Value
General
Initial value 0
Name Value
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: perCycle
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: payCycle
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: paymentmade
Name Value
General
Initial value false
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: preDelayPeriod
Name Value
General
Name Value
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: changePeriod
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: basePeriod
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: counter1
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: counter2
Name Value
General
Name Value
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: newBonus
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: counter3
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: counter4
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: DelayinMonths
Description: Current months of delay
Name Value
General
Name Value
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Current months of delay
Variable: delayMitigatedCounter
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: strategySharingCounter
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: BonusInAccount
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: drugsShared_m
Description: list of 0 and 1 - where 1 indicates a payment was expected but not received during that month
Name Value
General
Initial value new double[main.sim_dur_months+2]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description list of 0 and 1 - where 1 indicates a payment was expected but not received during that month
Variable: drugsShared
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: gisX
Description: X Coordinate
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description X Coordinate
Variable: gisY
Description: Y Coordinate
Name Value
General
Type double
Name Value
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description Y Coordinate
Variable: count_of_Bypass_to
Description: number of new births (since baseline) among all women linked to this facility (in this catchment area), even if delivered in referred to facility/hospitals. Stillbirths during labour and neonatal deaths are also counted within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too).
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new births (since baseline) among all women linked to this facility (in this catchment area), even if delivered in referred to facility/hospitals. Stillbirths during labour and neonatal deaths are also counted within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too).
Variable: count_of_Bypass_from
Description: number of new births (since baseline) among all women linked to this facility (in this catchment area), even if delivered in referred to facility/hospitals. Stillbirths during labour and neonatal deaths are also counted within 'births' count so that percentage calculation for the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too).
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of new births (since baseline) among all women linked to this facility (in this catchment area), even if delivered in referred to facility/hospitals. Stillbirths during labour and neonatal deaths are also counted within 'births' count so that percentage calculation for
Name Value
the percentage_facility_deliveries makes sense since the woman is clearly a patient and so included in the numerator and so should be counted in denominator too).
Variable: capacityExpanded
Name Value
General
Initial value 0
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Collection: catchmentArea
Name Value
General
Initial contents {}
Initial contents {}
Element class Woman
Collection class ArrayList
Show at runtime true
Show name true
Advanced
Access type public
Save in snapshot true
Collection: inClinic
Name Value
General
Initial contents {}
Initial contents {}
Element class Woman
Collection class ArrayList
Show at runtime true
Show name true
Advanced
Access type public
Save in snapshot true
Plot: performancePlot
Name Value
General
Lock false
Public false
Data update
Analysis auto update false
Name Value
Dataset Samples To Keep 100
Scale
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To main.sim_dur_months+1
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 100
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 260.0
Width 180.0
y -30.0
Height 60.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 100.0
Chart Area: Y Offset 10.0
Chart Area: Height 20.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value main.currentMonth round(((main.currentMonth>0) ? prop_births_in_facility_m[main.currentMonth-1]: bl_in_facility_birth_rate)*100) CIRCLE blue true 1.0 LINEAR
Plot: performancePlot1
Name Value
General
Lock false
Public false
Data update
Analysis auto update false
Dataset Samples To Keep 100
Scale
Name Value
Horizontal scale Fixed
Chart Horizontal Scale: From 0
Chart Horizontal Scale: To main.sim_dur_months+1
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 260.0
Width 180.0
y 15.0
Height 65.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 100.0
Chart Area: Y Offset 10.0
Chart Area: Height 25.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
Dataset Title value main.currentMonth (main.currentMonth>0) ? interpersonal_Quality_m[main.currentMonth-1]: interpersonal_Quality_m[0] CIRCLE blue true 1.0 LINEAR
Plot: plot1
Name Value
General
Lock false
Public false
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 1000
Scale
Horizontal scale Auto
Name Value
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 10
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 0.0
Width 280.0
y 190.0
Height 130.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 200.0
Chart Area: Y Offset 30.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
KindnessChart value main.currentMonth Kindness_m[main.currentMonth] CIRCLE goldenRod true 1.0 LINEAR
Plot: plot2
Name Value
General
Lock false
Public false
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 1000
Scale
Horizontal scale Auto
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 100
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Name Value
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 0.0
Width 280.0
y 310.0
Height 130.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 200.0
Chart Area: Y Offset 30.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
DrugChart value main.currentMonth drugs_avail_m[main.currentMonth] CIRCLE blue true 1.0 LINEAR
Plot: plot3
Name Value
General
Lock false
Public false
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 1000
Scale
Horizontal scale Auto
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 0.0
Width 280.0
y 440.0
Name Value
Height 130.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 200.0
Chart Area: Y Offset 30.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
IPQChart value main.currentMonth interpersonal_Quality_m[main.currentMonth] CIRCLE silver true 1.0 LINEAR
Plot: plot4
Name Value
General
Lock false
Public false
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 1000
Scale
Horizontal scale Auto
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 0.0
Width 280.0
y 560.0
Height 130.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 200.0
Chart Area: Y Offset 30.0
Name Value
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
DMVisits value main.currentMonth dm_visit_m[main.currentMonth] CIRCLE green true 1.0 LINEAR
Plot: plot5
Name Value
General
Lock false
Public false
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 1000
Scale
Horizontal scale Auto
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 0.0
Width 280.0
y 690.0
Height 130.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 200.0
Chart Area: Y Offset 30.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
DMVisits value main.currentMonth delayedPayment_m[max(0,main.currentMonth-1)] CIRCLE red true 1.0 LINEAR
Plot: plot6
Name Value
General
Lock false
Public false
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 1000
Scale
Horizontal scale Auto
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 0.0
Width 280.0
y 820.0
Height 130.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 200.0
Chart Area: Y Offset 30.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
DMVisits value main.currentMonth delayMitigated_m[main.currentMonth] CIRCLE gold true 1.0 LINEAR
Plot: plot7
Name Value
General
Lock false
Public false
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 1000
Scale
Horizontal scale Auto
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 0.0
Width 280.0
y 950.0
Height 130.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 200.0
Chart Area: Y Offset 30.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
DMVisits value main.currentMonth bonus_payment[max(main.currentMonth-1,1)] CIRCLE yellowGreen true 1.0 LINEAR
Plot: plot8
Name Value
General
Lock false
Public false
Data update
Analysis auto update true
Name Value
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Dataset Samples To Keep 1000
Scale
Horizontal scale Auto
Vertical scale Auto
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Interpolation Linear
Position and size
x 0.0
Width 280.0
y 1080.0
Height 130.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 200.0
Chart Area: Y Offset 30.0
Chart Area: Height 70.0
Chart Area: Background Color white
Chart area border color black
Advanced
Show name false
Logging true
Plot Items:
Dataset
Title Type X Axis Value Y Axis Value Point Style Color Line Width Interpolation
DMVisits value main.currentMonth capacity_m[max(main.currentMonth-1,1)] CIRCLE yellowGreen true 1.0 LINEAR
Time Plot: plot
Name Value
General
Lock false
Public false
Data update
Analysis auto update false
Dataset Samples To Keep 5000
Scale
Time window main.sim_dur_months
Time months
Vertical scale Fixed
Chart Vertical Scale: From 0
Chart Vertical Scale: To 1
Appearance
Labels horizontal position DEFAULT
Name Value
Labels vertical position DEFAULT
Label format MM
Labels Text Color darkGray
Chart Area Grid Color darkGray
Draw line true
Fill area under line false
Interpolation Linear
Position and size
x 90.0
Width 180.0
y -60.0
Height 150.0
Legend
Show legend false
Chart area
Chart Area: X Offset 50.0
Chart Area: Width 100.0
Chart Area: Y Offset 30.0
Chart Area: Height 80.0
Chart Area: Background Color white
Chart area border color black
Advanced
Time window moves Continuously
Show name false
Logging true
Plot Items:
Title Type Dataset / Value Point Style Color Line Width Interpolation
Dataset Title value NONE black true 1.0 LINEAR
Time Stack Chart: complications_Chart
Name Value
General
Lock false
Public false
Data update
Analysis auto update false
Dataset Samples To Keep 61
Scale
Time window main.sim_dur_years
Time years
Vertical scale Fixed
Chart Vertical Scale: To main.comp_Scale
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Label format yyyy
Labels Text Color darkGray
Chart Area Grid Color darkGray
Position and size
x 750.0
Width 170.0
y -60.0
Name Value
Height 140.0
Legend
Show legend true
Legend size 30.0
Legend text color black
Chart area
Chart Area: X Offset 0.0
Chart Area: Width 130.0
Chart Area: Y Offset 30.0
Chart Area: Height 80.0
Chart Area: Background Color white
Chart area border color black
Advanced
Time window moves Continuously
Show name false
Logging true
Plot Items:
Title Type Dataset / Value Color
In Clinic Comp. value count_of_Facility_Complications gold
At Home Comp. value count_of_Home_Complications yellow
Miscarriages value count_of_Miscarriage salmon
Time Stack Chart: home_vs_clinic_chart
Name Value
General
Lock false
Public false
Data update
Analysis auto update false
Dataset Samples To Keep 61
Scale
Time window main.sim_dur_years
Time years
Vertical scale Fixed
Chart Vertical Scale: To main.home_fac_Scale
Appearance
Labels horizontal position DEFAULT
Labels vertical position DEFAULT
Label format yyyy
Labels Text Color darkGray
Chart Area Grid Color darkGray
Position and size
x 500.0
Width 170.0
y -60.0
Height 140.0
Legend
Show legend true
Legend size 30.0
Legend text color black
Chart area
Name Value
Chart Area: X Offset 0.0
Chart Area: Width 130.0
Chart Area: Y Offset 30.0
Chart Area: Height 80.0
Chart Area: Background Color white
Chart area border color black
Advanced
Time window moves As data becomes available
Show name false
Logging true
Plot Items:
Title Type Dataset / Value Color
At Home value max(0,count_of_Births-count_of_in_Facility_Births) oldLace
Bypassed From Here value count_of_Bypass_from lightSalmon
At Clinic value count_of_in_Facility_Births yellowGreen
Data Set: all_facility_Complications
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_Complications
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Data Set: in_facility_Complications
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_Facility_Complications
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Data Set: home_Complications
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_Home_Complications
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Name Value
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Data Set: miscarriage_ds
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_Miscarriage
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Data Set: all_births_ds
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_Births
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Data Set: in_Facility_Births_ds
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_in_Facility_Births
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Data Set: Home_Births_ds
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_Home_Births
Name Value
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Data Set: Facility_OC_Births_ds
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_OC_Births
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Statistics: Exp_Kindness_inMonth
Description: An statistic keeping track of the occupancy-adjusted kindness for each birth during each month
Name Value
General
Discrete true
Show at runtime true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Logging true
Description
Description An statistic keeping track of the occupancy-adjusted kindness for each birth during each month
Statistics: Exp_IPQ_inMonth
Description: An statistic keeping track of the occupancy-adjusted Interpersonal for each birth during each month
Name Value
General
Discrete true
Show at runtime true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Logging true
Description
Description An statistic keeping track of the occupancy-adjusted Interpersonal for each birth during each month
Statistics: Exp_ConsTime_inMonth
Description: An statistic keeping track of the occupancy-adjusted consultation time for each birth during each month
Name Value
General
Discrete true
Show at runtime true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Logging true
Description
Description An statistic keeping track of the occupancy-adjusted consultation time for each birth during each month
Statistics: Exp_OOP_inMonth
Description: An statistic keeping track of the occupancy-adjusted consultation time for each birth during each month
Name Value
General
Discrete true
Show at runtime true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Logging true
Description
Description An statistic keeping track of the occupancy-adjusted consultation time for each birth during each month
Statistics: Exp_TravelTime_inMonth
Description: An statistic keeping track of the occupancy-adjusted consultation time for each birth during each month
Name Value
General
Discrete true
Show at runtime true
Data update
Analysis auto update true
ANALYSIS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Logging true
Description
Description An statistic keeping track of the occupancy-adjusted consultation time for each birth during each month
Data Set: all_bypassed_to
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_Bypass_to
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Name Value
Analysis auto update false
Logging true
Data Set: all_bypassed_from
Name Value
General
Dataset Samples To Keep 104
Axis Data Vertical Y Axis count_of_Bypass_from
Axis Data Horizontal X Axis main.currentMonth
Axis Data Freeze X Axis false
Show at runtime true
Show name true
Data update
Analysis auto update false
Logging true
Rectangle: rectangle9
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color white
Line color black
Line width 1.0
Line style solid
Position and size
x 970.0
Width 510.0
y 430.0
Height 340.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle8
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color white
Line color black
Line width 1.0
Line style solid
Position and size
Name Value
x 650.0
Width 310.0
y 100.0
Height 670.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle5
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color white
Line color black
Line width 1.0
Line style solid
Position and size
x 310.0
Width 330.0
y 100.0
Height 360.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle7
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color linen
Line color black
Line width 1.0
Line style solid
Position and size
x 310.0
Width 1210.0
y 780.0
Height 420.0
z 0.0
Z-Height 10.0
Name Value
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle6
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color whiteSmoke
Line color black
Line width 1.0
Line style solid
Position and size
x 310.0
Width 330.0
y 470.0
Height 300.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle1
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color white
Line color black
Line width 1.0
Line style solid
Position and size
x -70.0
Width 1030.0
y -120.0
Height 200.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Rectangle: rectangle4
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color new Color(224, 245, 245)
Line color black
Line width 1.0
Line style solid
Position and size
x 0.0
Width 300.0
y 100.0
Height 1100.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Bonus-Related Metrics
Appearance
Color black
Alignment LEFT
Position and size
x 980.0
y 470.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Fill color white
Dynamic: Fill Color facility_color
Line color black
Line width 1.0
Name Value
Line style solid
Position and size
x -30.0
Width 62.0
y 22.0
Height 6.0
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text1
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Evolving
Characteristics
Appearance
Color black
Alignment LEFT
Position and size
x -390.0
y 200.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: bonus_text
Name Value
General
Dynamic: Visible bonus_percentage>0
Show at runtime true
Lock false
Embedded icon false
Public true
Text
Text $
Appearance
Color black
Dynamic: Color (bonus_percentage>0.5)? black:gray
Alignment LEFT
Position and size
x 15.0
y -2.0
z 0.0
Name Value
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text3
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Bonus Calculation &
Appearance
Color black
Alignment LEFT
Position and size
x 980.0
y 440.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Line: line
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Line color black
Line width 1.0
Line style dotted
Position and size
x 161.0
dX 0.0
y 50.0
dY -80.0
z 0.0
dZ 0.0
Z-Height 10.0
Advanced
Show in 2D and 3D
Show name false
Line: line5
Name Value
General
Show at runtime true
Name Value
Lock false
Public false
Appearance
Line color black
Line width 1.0
Line style dotted
Position and size
x 527.0
dX 0.0
y 51.0
dY -80.0
z 0.0
dZ 0.0
Z-Height 10.0
Advanced
Show in 2D and 3D
Show name false
Line: line8
Name Value
General
Show at runtime true
Lock false
Public false
Appearance
Line color black
Line width 1.0
Line style dotted
Position and size
x 776.0
dX 0.0
y 51.0
dY -80.0
z 0.0
dZ 0.0
Z-Height 10.0
Advanced
Show in 2D and 3D
Show name false
Text: text4
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Baseline
Characteristics
Appearance
Color black
Alignment LEFT
Name Value
Position and size
x 320.0
y 110.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text2
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text text
Dynamic: Text facility_name
Appearance
Color black
Alignment CENTER
Position and size
x 0.0
y -20.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text17
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Monthly
Characteristics
Appearance
Color black
Alignment LEFT
Position and size
x 660.0
y 110.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: Performance
Name Value
General
Show at runtime true
Lock false
Public false
Text
Dynamic: Text round(((main.currentMonth>0) ? prop_births_in_facility_m[main.currentMonth-1]: bl_in_facility_birth_rate)*100) +"%"
Appearance
Color black
Alignment LEFT
Position and size
x 395.0
y -35.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text18
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Active Counters
Appearance
Color black
Alignment LEFT
Position and size
x 320.0
y 490.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text20
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text In-Facility Birth Rate
Appearance
Color black
Alignment LEFT
Position and size
x 300.0
Name Value
y -35.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Image: image1
Name Value
General
Dynamic: Visible inVisitIndicator
Show at runtime false
Lock false
Embedded icon false
Public true
Position and size
x 25.0
Width 9.258960573476704
y 0.0
Height 10.289469611747135
z 0.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text21
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text DM Visit Effects
Appearance
Color black
Alignment LEFT
Position and size
x 1290.0
y 470.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Image: image3
Name Value
General
Dynamic: Visible inDelay
Show at runtime false
Name Value
Lock false
Embedded icon false
Public true
Position and size
x 37.0
Width 5.0
y 0.0
Height 8.0
z 0.0
Rotation 0.0
Advanced
Show in 2D and 3D
Show name false
Text: text5
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Kindness
Appearance
Color black
Alignment CENTER
Position and size
x 140.0
y 200.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text6
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Drug Availability
Appearance
Color black
Alignment CENTER
Position and size
x 140.0
y 320.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Name Value
Show name false
Text: text8
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Interpersonal Quality
Appearance
Color black
Alignment CENTER
Position and size
x 150.0
y 450.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text9
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text DM Visits
Appearance
Color black
Alignment CENTER
Position and size
x 130.0
y 570.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text10
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Facility Characteristics
& Events
Name Value
Appearance
Color black
Alignment LEFT
Position and size
x 20.0
y 110.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text12
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Payment Delay
Appearance
Color black
Alignment CENTER
Position and size
x 140.0
y 700.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text13
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Delay Effects Mitigated
Appearance
Color black
Alignment CENTER
Position and size
x 140.0
y 830.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text14
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Bonus Processed
Appearance
Color black
Alignment CENTER
Position and size
x 140.0
y 960.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text7
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Main Visualization Items
Appearance
Color black
Alignment LEFT
Position and size
x -60.0
y -110.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text11
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Items in this box are positioned to appear in the main agent to visualize all agent attributes
Appearance
Color black
Alignment LEFT
Name Value
Position and size
x -60.0
y -90.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text15
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Over Time
Appearance
Color black
Alignment LEFT
Position and size
x 20.0
y 160.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text16
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Performance Cycle
Appearance
Color black
Alignment LEFT
Position and size
x 380.0
y 850.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text19
Name Value
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Bonus Payment Cycle
Appearance
Color black
Alignment LEFT
Position and size
x 750.0
y 790.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text22
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text DM Visit Cycle
Appearance
Color black
Alignment LEFT
Position and size
x 1330.0
y 800.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text23
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Operational Cycles
Appearance
Color black
Alignment LEFT
Position and size
x 330.0
y 800.0
Name Value
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text24
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Facility Complication Status
Appearance
Color black
Alignment LEFT
Position and size
x 760.0
y -60.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text25
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Location of Deliveries
Appearance
Color black
Alignment LEFT
Position and size
x 510.0
y -60.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text26
Name Value
General
Show at runtime true
Lock false
Name Value
Public false
Text
Text Bonus Earned
Appearance
Color black
Alignment LEFT
Position and size
x 140.0
y -60.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Text: text40
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Performance
Appearance
Color black
Alignment LEFT
Position and size
x 310.0
y -60.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Rectangle: rectangle2
Name Value
General
Show at runtime true
Lock false
Embedded icon false
Public true
Appearance
Fill color gray
Line color black
Line width 1.0
Line style solid
Position and size
x 0.0
Width 10.0
y 0.0
Height 10.0
Name Value
z 0.0
Z-Height 10.0
Rotation 0.0
Advanced
Show in 2D and 3D
On click _origin_VA.navigateTo();
Show name false
Text: text27
Name Value
General
Show at runtime true
Lock false
Public false
Text
Text Capacity
Appearance
Color black
Alignment CENTER
Position and size
x 140.0
y 1090.0
z 0.0
Rotation 0.0
Advanced
Show in 2D only
Show name false
Link to agents: connections
Name Value
General
Show at runtime true
Show name true
Communication
Message type Object
Animation
Draw line false
Agent Type: Manager
Name Value
Agent in flowcharts
Use in flowcharts as Agent
Dimensions and movement
Speed (10 : MPS)
Rotate animation towards movement true
Rotate vertically as well (along Z-axis) false
Space and network
Space Type Continuous
Advanced Java
Generic false
Advanced
Name Value
Logging true
Auto-create datasets true
AOC_DATASETS_UPDATE_TIME_PROPERTIES  - Recurring Event Properties
Limit the number of data samples false
Scale: scale
Name Value
General
Unit meters
Scale 10.0
Type Defined graphically
Length, pixels 100.0
Show at runtime false
Lock false
Public false
Position and size
x 0.0
y -150.0
Rotation 0.0
Function: selectFacilityToVisit
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Advanced
Access type default
Name Value
System dynamics units false
Function: checkPerformance
Description: BREAKS_IF no births in a year (cannot divide by 0) for any given facility
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body for( int i=0; i<main.num_of_facilities; i++ ) {
Facility f = main.facilities.get(i);
drugAvailability[i] = f.drugs_avail_m[main.currentMonth];
if(f.all_births_ds.getY(main.currentMonth)>0){ //ensure no division by 0
prop_in_facility_births[i] = f.in_Facility_Births_ds.getY(main.currentMonth)/f.all_births_ds.getY(main.currentMonth);
} else prop_in_facility_births[i] = 0;

performanceScore[i] = prop_in_facility_births[i];
}

highestDrug = indexOfMax(drugAvailability);
lowestDrug = indexOfMin(drugAvailability);

orderedFacilitiesList.remove(main.facilities.get(indexOfMin(performanceScore)));
orderedFacilitiesList.addFirst(main.facilities.get(indexOfMin(performanceScore)));

orderedFacilitiesList.remove(main.facilities.get(indexOfMax(performanceScore)));
orderedFacilitiesList.addLast(main.facilities.get(indexOfMax(performanceScore)));


best_Outreach = orderedFacilitiesList.get(2).outreach_m[main.currentMonth];
best_Kindness = orderedFacilitiesList.get(2).Kindness_m[main.currentMonth];
best_TBAincentives = orderedFacilitiesList.get(2).incentive_TBA_m[main.currentMonth];
Advanced
Access type default
System dynamics units false
Description
Description BREAKS_IF no births in a year (cannot divide by 0) for any given facility
Function: shareStrategy
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body //reference best performing, probabilistically apply their TBA, outreaach, and gift strategy
//Also depends on bonus

fac.strategy_shared_m[main.currentMonth] = 1;

fac.outreach_m[main.currentMonth] = best_Outreach;
fac.Exp_Kindness_m[main.currentMonth] = best_Kindness;
fac.incentive_TBA_m[main.currentMonth] = best_TBAincentives;

Name Value
//Best practices will be the current best performers

//A2 - Strategy Learning
Advanced
Access type default
System dynamics units false
Arguments:
Name Type
fac Facility
Variable: facilityVisited
Name Value
General
Type Facility
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: last_visitTimes
Description: number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Initial value new double[main.facilities.size()]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Variable: prop_in_facility_births
Description: number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Initial value new double[main.num_of_facilities]
Type double[]
Show at runtime true
Show name true
Advanced
Name Value
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Variable: performanceScore
Description: number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Initial value new double[main.facilities.size()]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Variable: best_Outreach
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: best_Kindness
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: best_TBAincentives
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: drugAvailability
Description: number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Initial value new double[main.facilities.size()]
Type double[]
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Variable: highestDrug
Description: number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Variable: lowestDrug
Description: number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Name Value
General
Initial value 0
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Description
Description number of patients who delivered every 6 months (where women who deliver in a facility are termed "patients", although remain in "women" agentset). (a)
Collection: orderedFacilitiesList
Description: Ordered list of facilities from worst performing to better performing. The worst performing are on top of the list
Name Value
General
Initial contents {}
Initial contents {}
Element class Facility
Collection class LinkedList
Show at runtime true
Show name true
Advanced
Access type public
Save in snapshot true
Description
Description Ordered list of facilities from worst performing to better performing. The worst performing are on top of the list
Collection: FacilitiesPlannedVisit
Name Value
General
Initial contents {}
Initial contents {}
Element class Facility
Collection class ArrayList
Show at runtime true
Show name true
Advanced
Access type public
Save in snapshot true
Link to agents: connections
Name Value
General
Name Value
Show at runtime true
Show name true
Communication
Message type Object
Animation
Draw line false
Simulation Experiment: Simulation
Name Value
General
Bypass Initial Simulation Screen true
Maximum available memory 512
Agent type Main
Model time
Execution mode Real time with scale
Real time scale 100.0
Stop option Stop at specified date
Initial time 0.0
Initial date Sun Jan 01 00:00:00 GMT 2012
Final date Fri Jan 01 00:00:00 GMT 2016
Randomness
Random Number Generation Type Random seed (unique simulation runs)
Window
Title COSMIC-ABM : Simulation
Enable zoom and panning true
Enable developer panel true
Show developer panel on start false
Java actions
After simulation run months = root.sim_dur_months;
facilities = root.num_of_facilities;

double[][] num_preg = new double[months][facilities];
double[][] in_fac = new double[months][facilities];
double[][] delays = new double[months][facilities];
double[][] dm_visit = new double[months][facilities];
double[][] delayMit = new double[months][facilities];
double[][] implementedSharedStrategy = new double[months][facilities];
double[][] outreach = new double[months][facilities];
double[][] drug = new double[months][facilities];
double[][] TBA = new double[months][facilities];
double[][] gifts = new double[months][facilities];
double[][] bonus = new double[months][facilities];
double[][] kindness = new double[months][facilities];
double[][] expkindness = new double[months][facilities];
double[][] consTime = new double[months][facilities];
double[][] OOP = new double[months][facilities];
double[][] IPQ = new double[months][facilities];
double[][] expIPQ = new double[months][facilities];



//Extract Values from Run
P4P = root.P4P;
DMVisit = root.DM_months_between_visits;
AvgParity = root.last6monParityCalc();
AvgOutreach = root.total_Outreach_6m[root.sim_dur_6months];
AvgDrug = root.total_DrugAvail_6m[root.sim_dur_6months];


//TBA here
//Gifts here

writeOutputs();

Name Value
for( int i=0; i<facilities; i++) {
for( int m=0; m<months; m++) {
num_preg[m][i] = root.facilities.get(i).all_births_ds.getY(m);
in_fac[m][i] = root.facilities.get(i).in_Facility_Births_ds.getY(m);
delays[m][i] = root.facilities.get(i).delayedPayment_m[m];
dm_visit[m][i] = root.facilities.get(i).dm_visit_m[m];
delayMit[m][i] = root.facilities.get(i).delayMitigated_m[m];
implementedSharedStrategy[m][i] = root.facilities.get(i).strategy_shared_m[m];
outreach[m][i] = root.facilities.get(i).outreach_m[m];
drug[m][i] = root.facilities.get(i).drugs_avail_m[m];
TBA[m][i] = root.facilities.get(i).incentive_TBA_m[m];
gifts[m][i] = root.facilities.get(i).facility_gifts_m[m];
bonus[m][i] = root.facilities.get(i).bonus_m[m];
kindness[m][i] = root.facilities.get(i).Kindness_m[m];
expkindness[m][i] = root.facilities.get(i).Exp_Kindness_m[m];
consTime[m][i] = root.facilities.get(i).consultation_Time_m[m];
OOP[m][i] = root.facilities.get(i).OOP_m[m];
IPQ[m][i] = root.facilities.get(i).interpersonal_Quality_m[m];
expIPQ[m][i] = root.facilities.get(i).interpersonal_Quality_m[m];

/* facilityoutputs.print(runNum +", " + m + ", " + root.facilities.get(i).facility_name + ", ");
facilityoutputs.print(num_preg[m][i]  + ", ");
facilityoutputs.print(in_fac[m][i]  + ", ");
facilityoutputs.print(delays[m][i]  + ", ");*/

facilityoutputs.print(runNum +", " + m + ", " + root.facilities.get(i).facility_name + ", ");
facilityoutputs.print(num_preg[m][i]  + ", ");
facilityoutputs.print(in_fac[m][i]  + ", ");
// facilityoutputs.print(outside_fac[m][i]  + ", ");
facilityoutputs.print(delays[m][i]  + ", ");

facilityoutputs.print(dm_visit[m][i]  + ", ");
facilityoutputs.print(delayMit[m][i]  + ", ");
facilityoutputs.print(implementedSharedStrategy[m][i]  + ", ");
facilityoutputs.print(outreach[m][i]  + ", ");
facilityoutputs.print(drug[m][i]  + ", ");
facilityoutputs.print(TBA[m][i]  + ", ");
facilityoutputs.print(gifts[m][i]  + ", ");
facilityoutputs.print(bonus[m][i]  + ", ");
facilityoutputs.print(kindness[m][i]  + ", ");
facilityoutputs.print(expkindness[m][i]  + ", ");
facilityoutputs.print(consTime[m][i]  + ", ");
facilityoutputs.print(OOP[m][i]  + ", ");
facilityoutputs.print(IPQ[m][i]  + ", ");
facilityoutputs.print(expIPQ[m][i]  + ", ");
facilityoutputs.println();
}
}

runNum++;
Advanced
Load root from snapshot false
Function: writeOutputs
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body //Write headers for community level output file
runoutputs.print("P4P, DM Visits Per Year, ");
runoutputs.print("AvgOutreach, AvgDrugAvail, PerTBAIncent, PerGifts, AvgBonus, AvgKindness, ");
runoutputs.print("AvgConsTime, AvgOOP, AvgInterPersonQ ");
runoutputs.println();

//Write headers for facility level output file
facilityoutputs.print("SimRun, Month, facilityName, ");
facilityoutputs.print("AllBirths, inFacilityBirths, PaymentDelay, DMvisit, DelayMitigated, StrategyReceived, Outreach, DrugAvail, TBAIncent, Gifts, Bonus, Kindness, ExpKindness,");
facilityoutputs.print("ConsTime, OOP, InterPersonQ, ExpInterPersonQ");
facilityoutputs.println();


//Write outputs at the community level
runoutputs.print(P4P + ", ");
runoutputs.print(DMVisit + ", ");
runoutputs.print(AvgOutreach + ", ");
runoutputs.print(AvgDrug + ", ");
runoutputs.print(/*TBA here + */", ");
runoutputs.print(/*Gifts here +*/ ", ");


Advanced
Access type default
System dynamics units false
Variable: P4P
Name Value
General
Type boolean
Name Value
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: DMVisit
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgParity
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: runNum
Name Value
General
Initial value 1
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgOutreach
Name Value
General
Type double
Show at runtime true
Name Value
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgDrug
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgTBA
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgGifts
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: months
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Name Value
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: facilities
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Text: text
Name Value
General
Show at runtime true
Lock false
Text
Text COSMIC-ABM
Appearance
Color royalBlue
Alignment LEFT
Position and size
x 50.0
y 30.0
z 0.0
Rotation 0.0
Advanced
Show name false
Text File: runoutputs
Name Value
General
File mode Write
Text file name ResourceReference: cosmic_abm.RunCommOutputs.txt (Resolved: true)
Text File Type File
Show at runtime true
Show name true
Text File: facilityoutputs
Name Value
General
File mode Write
Name Value
Text file name ResourceReference: cosmic_abm.RunFacilityOutputs.txt (Resolved: true)
Text File Type File
Show at runtime true
Show name true
Simulation Experiment: UserInterface
Name Value
General
Bypass Initial Simulation Screen false
Maximum available memory 512
Agent type Main
Model time
Execution mode Real time with scale
Real time scale 50.0
Stop option Stop at specified date
Initial time 0.0
Initial date Sat Jan 01 00:00:00 GMT 2011
Final date Sat Feb 01 00:00:00 GMT 2014
Randomness
Random Number Generation Type Random seed (unique simulation runs)
Window
Title COSMIC-ABM : Simulation
Enable zoom and panning true
Enable developer panel true
Show developer panel on start false
Java actions
Initial setup code months = 37;//root.sim_dur_months;
facilities = 5;
After simulation run double[][] num_preg = new double[months][facilities];
double[][] in_fac = new double[months][facilities];
double[][] outside_fac = new double[months][facilities];
double[][] delays = new double[months][facilities];
double[][] dm_visit = new double[months][facilities];
double[][] delayMit = new double[months][facilities];
double[][] implementedSharedStrategy = new double[months][facilities];
double[][] capacity = new double[months][facilities];
double[][] outreach = new double[months][facilities];
double[][] drug = new double[months][facilities];
double[][] TBA = new double[months][facilities];
double[][] gifts = new double[months][facilities];
double[][] bonus = new double[months][facilities];
double[][] kindness = new double[months][facilities];
double[][] expkindness = new double[months][facilities];
double[][] consTime = new double[months][facilities];
double[][] OOP = new double[months][facilities];
double[][] IPQ = new double[months][facilities];
double[][] expIPQ = new double[months][facilities];
double[][] DrugShared = new double[months][facilities];


//simsettings
double dm_months_between_visit = root.DM_months_between_visits;
double occupancyCushion = root.occupancyCushion;
double PerPregInitial = root.PerPregInitiation;
double capacityRelax = root.capacityRelaxation;
double DMVisitEffects = root.durationOfDMImpact;
double initialTBA = root.initialTBA;
double initialGifts = root.initialGifts;
double catchmult = root.PerWRA;
double lessPoorAdd = root.LessPoor_prop_add;
double fmod = root.M1a;
double homemod = root.M1b;
double othermod = root.M2;
Name Value
double tbamod = root.M3;
int P4PN = root.P4PN;
int delayOn = root.Delays;
double DrugSharingTheshold = root.drugSharingthreshold;
double DrugSharingAmt = root.drugSharingAmt;

for(int i=0; i<facilities; i++) {
for( int m=0; m<months; m++) {
num_preg[m][i] = root.facilities.get(i).all_births_ds.getY(m);
in_fac[m][i] = root.facilities.get(i).in_Facility_Births_ds.getY(m);
outside_fac[m][i] = root.facilities.get(i).Facility_OC_Births_ds.getY(m);
delays[m][i] = root.facilities.get(i).delayedPayment_m[m];
dm_visit[m][i] = root.facilities.get(i).dm_visit_m[m];
delayMit[m][i] = root.facilities.get(i).delayMitigated_m[m];
implementedSharedStrategy[m][i] = root.facilities.get(i).strategy_shared_m[m];
capacity[m][i] = root.facilities.get(i).capacity_m[m];
outreach[m][i] = root.facilities.get(i).outreach_m[m];
drug[m][i] = root.facilities.get(i).drugs_avail_m[m];
TBA[m][i] = root.facilities.get(i).incentive_TBA_m[m];
gifts[m][i] = root.facilities.get(i).facility_gifts_m[m];
bonus[m][i] = root.facilities.get(i).bonus_m[m];
kindness[m][i] = root.facilities.get(i).Kindness_m[m];
expkindness[m][i] = root.facilities.get(i).Exp_Kindness_m[m];
consTime[m][i] = root.facilities.get(i).consultation_Time_m[m];
OOP[m][i] = root.facilities.get(i).OOP_m[m];
IPQ[m][i] = root.facilities.get(i).interpersonal_Quality_m[m];
expIPQ[m][i] = root.facilities.get(i).Exp_IPQ_m[m];
DrugShared[m][i] = root.facilities.get(i).drugsShared_m[m];


//facilityoutputs.print(iterationNum +", "+ runNum +", " + m + ", " + root.facilities.get(i).facility_name + ", ");
facilityoutputs.print(num_preg[m][i]  + ", ");
facilityoutputs.print(in_fac[m][i]  + ", ");
facilityoutputs.print(outside_fac[m][i]  + ", ");
facilityoutputs.print(delays[m][i]  + ", ");
facilityoutputs.print(dm_visit[m][i]  + ", ");
facilityoutputs.print(DrugShared[m][i]  + ", ");
facilityoutputs.print(dm_months_between_visit  + ", ");
facilityoutputs.print(delayMit[m][i]  + ", ");
facilityoutputs.print(implementedSharedStrategy[m][i]  + ", ");
facilityoutputs.print(capacity[m][i]  + ", ");
facilityoutputs.print(outreach[m][i]  + ", ");
facilityoutputs.print(drug[m][i]  + ", ");
facilityoutputs.print(TBA[m][i]  + ", ");
facilityoutputs.print(gifts[m][i]  + ", ");
facilityoutputs.print(bonus[m][i]  + ", ");
facilityoutputs.print(kindness[m][i]  + ", ");
facilityoutputs.print(expkindness[m][i]  + ", ");
facilityoutputs.print(consTime[m][i]  + ", ");
facilityoutputs.print(OOP[m][i]  + ", ");
facilityoutputs.print(IPQ[m][i]  + ", ");
facilityoutputs.print(expIPQ[m][i]  + ", ");
facilityoutputs.print(occupancyCushion  + ", ");
facilityoutputs.print(PerPregInitial  + ", ");
facilityoutputs.print(capacityRelax + ", ");
facilityoutputs.print(DrugSharingTheshold + ", ");
facilityoutputs.print(DrugSharingAmt + ", ");
facilityoutputs.print(initialTBA + ", ");
facilityoutputs.print(initialGifts + ", ");
facilityoutputs.print(DMVisitEffects + ", ");
facilityoutputs.print(P4PN+ ", ");
facilityoutputs.print(delayOn+ ", ");
facilityoutputs.print(lessPoorAdd+ ", ");
facilityoutputs.print(catchmult+ ", ");
facilityoutputs.print(fmod+ ", ");
facilityoutputs.print(homemod+ ", ");
facilityoutputs.print(othermod+ ", ");
facilityoutputs.print(tbamod);
facilityoutputs.println();

}
}

runNum++;
Advanced
Load root from snapshot false
Function: writeOutputs
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body //Write headers for community level output file
runoutputs.print("P4P, DM Visits Per Year, ");
runoutputs.print("AvgOutreach, AvgDrugAvail, PerTBAIncent, PerGifts, AvgBonus, AvgKindness, ");
runoutputs.print("AvgConsTime, AvgOOP, AvgInterPersonQ ");
runoutputs.println();

//Write headers for facility level output file
facilityoutputs.print("SimRun, Month, facilityName, ");
facilityoutputs.print("AllBirths, inFacilityBirths, PaymentDelay, DMvisit, DelayMitigated, StrategyReceived, Outreach, DrugAvail, TBAIncent, Gifts, Bonus, Kindness, ExpKindness,");
facilityoutputs.print("ConsTime, OOP, InterPersonQ, ExpInterPersonQ");
facilityoutputs.println();


//Write outputs at the community level
runoutputs.print(P4P + ", ");
runoutputs.print(DMVisit + ", ");
runoutputs.print(AvgOutreach + ", ");
runoutputs.print(AvgDrug + ", ");
runoutputs.print(/*TBA here + */", ");
runoutputs.print(/*Gifts here +*/ ", ");


Advanced
Access type default
System dynamics units false
Variable: P4Prun
Name Value
General
Initial value true
Type boolean
Show at runtime true
Show name true
Advanced
Name Value
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: DMVisit
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgParity
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: runNum
Name Value
General
Initial value 1
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgOutreach
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Name Value
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgDrug
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgTBA
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: AvgGifts
Name Value
General
Type double
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: months
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
Name Value
System dynamics units false
Variable: facilities
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: P4P
Name Value
General
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: ActivateDelays
Name Value
General
Initial value true
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: shortenPayTurn
Name Value
General
Initial value 3
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
Name Value
System dynamics units false
Variable: DMVisitBin
Name Value
General
Initial value true
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: DrugSharingBin
Name Value
General
Initial value true
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: ActivateBypass
Name Value
General
Initial value true
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: ActivateExpansion
Name Value
General
Initial value true
Type boolean
Show at runtime true
Show name true
Advanced
Access type public
Name Value
Constant false
Save in snapshot true
System dynamics units false
Text: text12
Name Value
General
Show at runtime true
Lock false
Text
Text  P4P and Maternal & Child Health in Tanzania
Appearance
Color black
Alignment LEFT
Position and size
x 100.0
y 40.0
z 0.0
Rotation 0.0
Advanced
Show name false
Image: image3
Name Value
General
Show at runtime true
Lock false
Position and size
x 1270.0
Width 139.379
y 105.0
Height 37.288
z 0.0
Rotation 0.0
Advanced
Show name false
Image: image1
Name Value
General
Show at runtime true
Lock false
Position and size
x 1260.0
Width 83.172
y 20.0
Height 67.0
z 0.0
Rotation 0.0
Advanced
Name Value
Show name false
Image: image2
Name Value
General
Show at runtime true
Lock false
Position and size
x 1430.0
Width 49.613
y 100.0
Height 50.0
z 0.0
Rotation 0.0
Advanced
Show name false
Image: image
Name Value
General
Show at runtime true
Lock false
Position and size
x 1370.0
Width 130.0
y 21.0
Height 68.166
z 0.0
Rotation 0.0
Advanced
Show name false
Text: text
Name Value
General
Show at runtime true
Lock false
Text
Text min
Dynamic: Text MonthstoPayment.getMin()
Appearance
Color black
Alignment LEFT
Position and size
x 140.0
y 550.0
z 0.0
Rotation 0.0
Advanced
Show name false
Text: text1
Name Value
General
Show at runtime true
Lock false
Text
Text max
Dynamic: Text MonthstoPayment.getMax()
Appearance
Color black
Alignment RIGHT
Position and size
x 270.0
y 550.0
z 0.0
Rotation 0.0
Advanced
Show name false
Text: text2
Name Value
General
Show at runtime true
Lock false
Text
Text value
Dynamic: Text MonthstoPayment.getValue()
Appearance
Color black
Alignment CENTER
Position and size
x 205.0
y 550.0
z 0.0
Rotation 0.0
Advanced
Show name false
Text: text3
Name Value
General
Show at runtime true
Lock false
Text
Text Months to Receive Payment
After Performance Cycle
Appearance
Color black
Alignment LEFT
Position and size
x 100.0
y 470.0
Name Value
z 0.0
Rotation 0.0
Advanced
Show name false
Text: text11
Name Value
General
Show at runtime true
Lock false
Text
Text Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
sunt in culpa qui officia deserunt mollit anim id est laborum.
Appearance
Color black
Alignment LEFT
Position and size
x 110.0
y 90.0
z 0.0
Rotation 0.0
Advanced
Show name false
Button: button
Name Value
General
Dynamic: Enable getState() == IDLE
Enabled true
Dynamic: Label getState() == IDLE ? "Run Model" : "Top level agent"
Label text Run Model
Lock false
Action
Action run();
getExperimentHost().setPresentable( getEngine().getRoot() );
Position and size
x 130.0
Width 160.0
y 600.0
Height 80.0
Advanced
Show name false
Check Box: P4PControl
Name Value
General
Enabled true
Link P4Prun
Name Value
Link P4Prun
Link to true
Label text Activate P4P
Lock false
Position and size
x 120.0
Width 180.0
y 240.0
Height 30.0
Advanced
Show name false
Check Box: DelaysActivate
Name Value
General
Enabled true
Link ActivateDelays
Link ActivateDelays
Link to true
Label text Activate Delays
Lock false
Position and size
x 120.0
Width 180.0
y 370.0
Height 30.0
Advanced
Show name false
Slider: MonthstoPayment
Name Value
General
Enabled true
Step 1
Maximum value 3
Minimum value 0
Link shortenPayTurn
Link shortenPayTurn
Link to true
Orientation Horizontal
Lock false
Position and size
x 140.0
Width 130.0
y 520.0
Height 30.0
Advanced
Show name false
Check Box: DMActivate
Name Value
Name Value
General
Enabled true
Link DMVisitBin
Link DMVisitBin
Link to true
Label text Activate DM Visits
Lock false
Position and size
x 120.0
Width 240.0
y 410.0
Height 30.0
Advanced
Show name false
Check Box: DrugSharing
Name Value
General
Dynamic: Enable DMVisitBin
Enabled true
Link DrugSharingBin
Link DrugSharingBin
Link to true
Label text Activate DrugSharing
Lock false
Position and size
x 340.0
Width 240.0
y 400.0
Height 30.0
Advanced
Show name false
Check Box: DelaysActivate1
Name Value
General
Enabled true
Link ActivateBypass
Link ActivateBypass
Link to true
Label text Activate Patient Bypass
Lock false
Position and size
x 120.0
Width 240.0
y 280.0
Height 30.0
Advanced
Show name false
Check Box: DMActivate1
Name Value
General
Enabled true
Link ActivateExpansion
Link ActivateExpansion
Link to true
Label text Activate Capacity Expansion
Lock false
Position and size
x 120.0
Width 240.0
y 320.0
Height 30.0
Advanced
Show name false
Text File: runoutputs
Name Value
General
File mode Write
Text file name ResourceReference: cosmic_abm.RunCommOutputs.txt (Resolved: true)
Text File Type File
Show at runtime true
Show name true
Text File: facilityoutputs
Name Value
General
File mode Write
Text file name ResourceReference: cosmic_abm.RunFacilityOutputs.txt (Resolved: true)
Text File Type File
Show at runtime true
Show name true
Parameter Variation Experiment: ParametersVariation
Name Value
General
Maximum available memory 16384
Agent type Main
Model time
Stop option Stop at specified date
Initial time 0.0
Initial date Sat Jan 01 00:00:00 GMT 2011
Final date Sun Jan 05 00:00:00 GMT 2014
Randomness
Random Number Generation Type Random seed (unique simulation runs)
Replications
Use replications true
Fixed replications number true
Replications per iteration 500
Window
Name Value
Title COSMIC-ABM: Parameter Variation
Enable zoom and panning true
Enable developer panel true
Show developer panel on start false
Java actions
Initial setup code writeHeaders();
months = 36;//root.sim_dur_months;
facilities = 12;//root.num_of_facilities;

Before simulation run //getEngine().setSimultaneousEventsSelectionMode(Engine.EVENT_SELECTION_RANDOM);
After simulation run double[][] num_preg = new double[months][facilities];
double[][] in_fac = new double[months][facilities];
double[][] outside_fac = new double[months][facilities];
double[][] delays = new double[months][facilities];
double[][] dm_visit = new double[months][facilities];
double[][] delayMit = new double[months][facilities];
double[][] implementedSharedStrategy = new double[months][facilities];
double[][] capacity = new double[months][facilities];
double[][] outreach = new double[months][facilities];
double[][] drug = new double[months][facilities];
double[][] TBA = new double[months][facilities];
double[][] gifts = new double[months][facilities];
double[][] bonus = new double[months][facilities];
double[][] kindness = new double[months][facilities];
double[][] expkindness = new double[months][facilities];
double[][] consTime = new double[months][facilities];
double[][] OOP = new double[months][facilities];
double[][] IPQ = new double[months][facilities];
double[][] expIPQ = new double[months][facilities];
double[][] DrugShared = new double[months][facilities];
double[][] bypassedFrom = new double[months][facilities];
double[][] bypassedTo = new double[months][facilities];


//simsettings
double dm_months_between_visit = root.DM_months_between_visits;
double monthlyPregRate = root.monthlyPregRate;
double PerPregInitial = root.PerPregInitiation;
double capacityRelax = root.capacityRelaxation;
double DMVisitEffects = root.durationOfDMImpact;
double initialTBA = root.initialTBA;
double initialGifts = root.initialGifts;
double catchmult = root.PerWRA;
double lessPoorAdd = root.LessPoor_prop_add;
double fmod = root.M1a;
double homemod = root.M1b;
double othermod = root.M2;
double tbamod = root.M3;
int P4PN = root.P4PN;
int bypass = root.bypass;
int expansion = root.allowExpansion;
int delayOn = root.Delays;
int dm_visits_on = root.DmVisits0;
int DrugSharingOn = root.DrugSharing0;
double DrugSharingTheshold = root.drugSharingthreshold;
double DrugSharingAmt = root.drugSharingAmt;
int womenChoiceMods = root.womenChoiceMods;
int occupancyEffects = root.occupancyEffects;
double b = root.b;

for(int i=0; i<facilities; i++) {
for( int m=0; m<months; m++) {
num_preg[m][i] = root.facilities.get(i).all_births_ds.getY(m);
in_fac[m][i] = root.facilities.get(i).in_Facility_Births_ds.getY(m);
outside_fac[m][i] = root.facilities.get(i).Facility_OC_Births_ds.getY(m);
delays[m][i] = root.facilities.get(i).delayedPayment_m[m];
dm_visit[m][i] = root.facilities.get(i).dm_visit_m[m];
delayMit[m][i] = root.facilities.get(i).delayMitigated_m[m];
implementedSharedStrategy[m][i] = root.facilities.get(i).strategy_shared_m[m];
capacity[m][i] = root.facilities.get(i).capacity_m[m];
outreach[m][i] = root.facilities.get(i).outreach_m[m];
Name Value
drug[m][i] = root.facilities.get(i).drugs_avail_m[m];
TBA[m][i] = root.facilities.get(i).incentive_TBA_m[m];
gifts[m][i] = root.facilities.get(i).facility_gifts_m[m];
bonus[m][i] = root.facilities.get(i).bonus_m[m];
kindness[m][i] = root.facilities.get(i).Kindness_m[m];
expkindness[m][i] = root.facilities.get(i).Exp_Kindness_m[m];
consTime[m][i] = root.facilities.get(i).consultation_Time_m[m];
OOP[m][i] = root.facilities.get(i).OOP_m[m];
IPQ[m][i] = root.facilities.get(i).interpersonal_Quality_m[m];
expIPQ[m][i] = root.facilities.get(i).Exp_IPQ_m[m];
DrugShared[m][i] = root.facilities.get(i).drugsShared_m[m];
bypassedFrom[m][i] =  root.facilities.get(i).all_bypassed_from.getY(m);
bypassedTo[m][i] = root.facilities.get(i).all_bypassed_to.getY(m);


facilityoutputs.print(runNum +", " + m + ", " + root.facilities.get(i).facility_name + ", ");
facilityoutputs.print(num_preg[m][i]  + ", ");
facilityoutputs.print(in_fac[m][i]  + ", ");
facilityoutputs.print(outside_fac[m][i]  + ", ");
facilityoutputs.print(delays[m][i]  + ", ");
facilityoutputs.print(dm_visits_on + ", ");
facilityoutputs.print(dm_visit[m][i]  + ", ");
facilityoutputs.print(DrugShared[m][i]  + ", ");
facilityoutputs.print(dm_months_between_visit  + ", ");
facilityoutputs.print(delayMit[m][i]  + ", ");
facilityoutputs.print(implementedSharedStrategy[m][i]  + ", ");
facilityoutputs.print(capacity[m][i]  + ", ");
facilityoutputs.print(outreach[m][i]  + ", ");
facilityoutputs.print(drug[m][i]  + ", ");
facilityoutputs.print(TBA[m][i]  + ", ");
facilityoutputs.print(gifts[m][i]  + ", ");
facilityoutputs.print(bonus[m][i]  + ", ");
facilityoutputs.print(kindness[m][i]  + ", ");
facilityoutputs.print(expkindness[m][i]  + ", ");
facilityoutputs.print(bypassedFrom[m][i]  + ", ");
facilityoutputs.print(bypassedTo[m][i]  + ", ");
facilityoutputs.print(consTime[m][i]  + ", ");
facilityoutputs.print(OOP[m][i]  + ", ");
facilityoutputs.print(IPQ[m][i]  + ", ");
facilityoutputs.print(expIPQ[m][i]  + ", ");
facilityoutputs.print(monthlyPregRate    + ", ");
facilityoutputs.print(PerPregInitial  + ", ");
facilityoutputs.print(capacityRelax + ", ");
facilityoutputs.print(DrugSharingOn + ", ");
facilityoutputs.print(DrugSharingTheshold + ", ");
facilityoutputs.print(DrugSharingAmt + ", ");
facilityoutputs.print(initialTBA + ", ");
facilityoutputs.print(initialGifts + ", ");
facilityoutputs.print(DMVisitEffects + ", ");
facilityoutputs.print(P4PN+ ", ");
facilityoutputs.print(bypass+ ", ");
facilityoutputs.print(b+ ", ");
facilityoutputs.print(expansion+ ", ");
facilityoutputs.print(delayOn+ ", ");
facilityoutputs.print(lessPoorAdd+ ", ");
facilityoutputs.print(catchmult+ ", ");
facilityoutputs.print(occupancyEffects+ ", ");
facilityoutputs.print(womenChoiceMods+ ", ");
facilityoutputs.print(fmod+ ", ");
facilityoutputs.print(homemod+ ", ");
facilityoutputs.print(othermod+ ", ");
facilityoutputs.print(tbamod);
facilityoutputs.println();

}
}

runNum++;
After iteration code iterationNum++;
Advanced
Allow parallel evaluations true
Load root from snapshot false
Parameter Variation Experiment Parameters:
Parameter Variation Experiment Parameters:
Value
Parameter Type Min Max Step
num_of_facilities FIXED
num_of_women FIXED
M1a FIXED 0.35
M1b FIXED 0.0
M1c FIXED
M2 FIXED 0.35
M3 FIXED
sim_dur FIXED
sim_dur_weeks FIXED
sim_dur_months FIXED
sim_dur_6months FIXED
ShareWomenExperience FIXED
catchment_mult FIXED 1
PerWRA FIXED
PerPregInitiation FIXED 0.025
DM_months_between_visits FIXED
facilitiesSeenPerVisit FIXED
pregancyDuration FIXED
P4PN RANGE 0 1 1
P4P FIXED
produceOutputs FIXED
sim_dur_years FIXED
Delays FIXED
monthlyPregRate FIXED 0.0167
durationOfDMImpact FIXED 1
capacityRelaxation FIXED 1
initialTBA FIXED
initialGifts FIXED
LessPoor_prop_add FIXED
P4P_NoBonusHarm FIXED
shorterPaymentPeriod FIXED
DmVisits0 FIXED
drugSharingthreshold FIXED
drugSharingAmt FIXED
DmVisits FIXED
DrugSharing0 FIXED
womenChoiceMods FIXED
DrugSharingB FIXED
occupancyEffects FIXED
FacilityATargets FIXED
FacilityBTargets FIXED
FacilityCTargets FIXED
n_social FIXED
occupancyCushion FIXED
bypass RANGE 0 1 1
allowExpansion RANGE 0 1 1
Parameter Variation Experiment Parameters:
Value
Parameter Type Min Max Step
b FIXED
Function: writeHeaders
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body //Write headers for facility level output file
facilityoutputs.print("SimRun, Month, facilityName, ");
facilityoutputs.print("AllBirths, inFacilityBirths, OutsideFacilityBirths, PaymentDelay, dm_visits_on, DMvisit, DrugShared, Months_btw_DM_Visits, DelayMitigated, StrategyReceived, Capacity, Outreach, DrugAvail, TBAIncent, Gifts, Bonus, Kindness, ExpKindness,");
facilityoutputs.print("BypassFrom, BypassTo, ConsTime, OOP, InterPersonQ, ExpInterPersonQ, monthlyPregRate, PerPregInitial, capacityRelax, DrugSharingOn, MinDrugSharingThes, DrugSharingAmt, initialTBA, initialGifts, durationofDMVistEffect, P4P, Bypass, bypass_b ,Expansions, Delays, LessPoorAdd, CatchMult, OccupancyEffectsOn, ModOn, fmod, homemod, othermod, tbamod");
facilityoutputs.println();
Advanced
Access type default
System dynamics units false
Function: writeRunValues
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body
Advanced
Access type default
System dynamics units false
Variable: runNum
Name Value
General
Initial value 1
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: months
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: facilities
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: iterationNum
Name Value
General
Name Value
Initial value 1
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Button: button
Name Value
General
Dynamic: Enable getState() == IDLE
Enabled true
Dynamic: Label getState() == IDLE ? "Run Model" : "Top level agent"
Label text Run Model
Lock false
Action
Action run();
Position and size
x 50.0
Width 160.0
y 70.0
Height 80.0
Advanced
Show name false
Text File: facilityoutputs
Name Value
General
File mode Write
Text file name ResourceReference: cosmic_abm.simulationOutputs.txt (Resolved: true)
Text File Type File
Show at runtime true
Show name true
Parameter Variation Experiment: Calibration
Name Value
General
Maximum available memory 16384
Agent type Main
Model time
Stop option Stop at specified date
Initial time 0.0
Initial date Sat Jan 01 00:00:00 GMT 2011
Final date Thu Jan 02 00:00:00 GMT 2014
Randomness
Random Number Generation Type Random seed (unique simulation runs)
Replications
Name Value
Use replications true
Fixed replications number true
Replications per iteration 5
Window
Title COSMIC-ABM: Parameter Variation
Enable zoom and panning true
Enable developer panel true
Show developer panel on start false
Java actions
Initial setup code writeHeaders();
months = 36;//root.sim_dur_months;
facilities = 12;//root.num_of_facilities;

Before simulation run //getEngine().setSimultaneousEventsSelectionMode(Engine.EVENT_SELECTION_RANDOM);
After simulation run double[][] num_preg = new double[months][facilities];
double[][] in_fac = new double[months][facilities];
double[][] outside_fac = new double[months][facilities];
double[][] delays = new double[months][facilities];
double[][] dm_visit = new double[months][facilities];
double[][] delayMit = new double[months][facilities];
double[][] implementedSharedStrategy = new double[months][facilities];
double[][] capacity = new double[months][facilities];
double[][] outreach = new double[months][facilities];
double[][] drug = new double[months][facilities];
double[][] TBA = new double[months][facilities];
double[][] gifts = new double[months][facilities];
double[][] bonus = new double[months][facilities];
double[][] kindness = new double[months][facilities];
double[][] expkindness = new double[months][facilities];
double[][] consTime = new double[months][facilities];
double[][] OOP = new double[months][facilities];
double[][] IPQ = new double[months][facilities];
double[][] expIPQ = new double[months][facilities];
double[][] DrugShared = new double[months][facilities];
double[][] bypassedFrom = new double[months][facilities];
double[][] bypassedTo = new double[months][facilities];

//simsettings
double dm_months_between_visit = root.DM_months_between_visits;
double occupancyCushion = root.occupancyCushion;
double PerPregInitial = root.PerPregInitiation;
double capacityRelax = root.capacityRelaxation;
double DMVisitEffects = root.durationOfDMImpact;
double initialTBA = root.initialTBA;
double initialGifts = root.initialGifts;
double catchmult = root.PerWRA;
double lessPoorAdd = root.LessPoor_prop_add;
double fmod = root.M1a;
double homemod = root.M1b;
double othermod = root.M2;
double tbamod = root.M3;
int P4PN = root.P4PN;
int delayOn = root.Delays;
int DrugSharingOn = root.DrugSharing0;
double DrugSharingTheshold = root.drugSharingthreshold;
double DrugSharingAmt = root.drugSharingAmt;
int womenChoiceMods = root.womenChoiceMods;
int n_social = root.n_social;
int occupancyEffects = root.occupancyEffects;
double monthlyPregRate = root.monthlyPregRate;
int bypass = root.bypass;
int expansion = root.allowExpansion;
int dm_visits_on = root.DmVisits0;
double b = root.b;


for(int i=0; i<facilities; i++) {
for( int m=0; m<months; m++) {
num_preg[m][i] = root.facilities.get(i).all_births_ds.getY(m);
in_fac[m][i] = root.facilities.get(i).in_Facility_Births_ds.getY(m);
outside_fac[m][i] = root.facilities.get(i).Facility_OC_Births_ds.getY
Name Value
(m);
delays[m][i] = root.facilities.get(i).delayedPayment_m[m];
dm_visit[m][i] = root.facilities.get(i).dm_visit_m[m];
delayMit[m][i] = root.facilities.get(i).delayMitigated_m[m];
implementedSharedStrategy[m][i] = root.facilities.get(i).strategy_shared_m[m];
capacity[m][i] = root.facilities.get(i).capacity_m[m];
outreach[m][i] = root.facilities.get(i).outreach_m[m];
drug[m][i] = root.facilities.get(i).drugs_avail_m[m];
TBA[m][i] = root.facilities.get(i).incentive_TBA_m[m];
gifts[m][i] = root.facilities.get(i).facility_gifts_m[m];
bonus[m][i] = root.facilities.get(i).bonus_m[m];
kindness[m][i] = root.facilities.get(i).Kindness_m[m];
expkindness[m][i] = root.facilities.get(i).Exp_Kindness_m[m];
consTime[m][i] = root.facilities.get(i).consultation_Time_m[m];
OOP[m][i] = root.facilities.get(i).OOP_m[m];
IPQ[m][i] = root.facilities.get(i).interpersonal_Quality_m[m];
expIPQ[m][i] = root.facilities.get(i).Exp_IPQ_m[m];
DrugShared[m][i] = root.facilities.get(i).drugsShared_m[m];
bypassedFrom[m][i] = root.facilities.get(i).all_bypassed_from.getY(m);
bypassedTo[m][i] = root.facilities.get(i).all_bypassed_to.getY(m);


facilityoutputs.print(iterationNum +", "+ runNum +", " + m + ", " + root.facilities.get(i).facility_name + ", ");
facilityoutputs.print(num_preg[m][i]  + ", ");
facilityoutputs.print(in_fac[m][i]  + ", ");
facilityoutputs.print(outside_fac[m][i]  + ", ");
facilityoutputs.print(delays[m][i]  + ", ");
facilityoutputs.print(dm_visit[m][i]  + ", ");
facilityoutputs.print(DrugShared[m][i]  + ", ");
facilityoutputs.print(dm_months_between_visit  + ", ");
facilityoutputs.print(delayMit[m][i]  + ", ");
facilityoutputs.print(implementedSharedStrategy[m][i]  + ", ");
facilityoutputs.print(capacity[m][i]  + ", ");
facilityoutputs.print(outreach[m][i]  + ", ");
facilityoutputs.print(drug[m][i]  + ", ");
facilityoutputs.print(TBA[m][i]  + ", ");
facilityoutputs.print(gifts[m][i]  + ", ");
facilityoutputs.print(bonus[m][i]  + ", ");
facilityoutputs.print(kindness[m][i]  + ", ");
facilityoutputs.print(expkindness[m][i]  + ", ");
facilityoutputs.print(consTime[m][i]  + ", ");
facilityoutputs.print(OOP[m][i]  + ", ");
facilityoutputs.print(IPQ[m][i]  + ", ");
facilityoutputs.print(expIPQ[m][i]  + ", ");
facilityoutputs.print(occupancyCushion  + ", ");
facilityoutputs.print(PerPregInitial  + ", ");
facilityoutputs.print(capacityRelax + ", ");
facilityoutputs.print(DrugSharingOn + ", ");
facilityoutputs.print(DrugSharingTheshold + ", ");
facilityoutputs.print(DrugSharingAmt + ", ");
facilityoutputs.print(initialTBA + ", ");
facilityoutputs.print(initialGifts + ", ");
facilityoutputs.print(DMVisitEffects + ", ");
facilityoutputs.print(P4PN+ ", ");
facilityoutputs.print(delayOn+ ", ");
facilityoutputs.print(lessPoorAdd+ ", ");
facilityoutputs.print(catchmult+ ", ");
facilityoutputs.print(occupancyEffects+ ", ");
facilityoutputs.print(womenChoiceMods+ ", ");
facilityoutputs.print(n_social+ ", ");
facilityoutputs.print(fmod+ ", ");
facilityoutputs.print(homemod+ ", ");
facilityoutputs.print(othermod+ ", ");
facilityoutputs.print(tbamod+ ",");
facilityoutputs.print(monthlyPregRate + ", ");
facilityoutputs.print(bypass + ", ");
facilityoutputs.print(expansion + ", ");
facilityoutputs.print(b + ", ");
facilityoutputs.print(bypassedFrom[m][i] + ", ");
facilityoutputs.print(bypassedTo[m][i]);
facilityoutputs.println();

}
}

runNum++;
After iteration code iterationNum++;
Name Value
Advanced
Allow parallel evaluations false
Load root from snapshot false
Parameter Variation Experiment Parameters:
Value
Parameter Type Min Max Step
num_of_facilities FIXED
num_of_women FIXED
M1a RANGE 0.3 0.35 0.05
M1b RANGE 0 0.05 0.025
M1c FIXED
M2 RANGE 0.3 0.35 0.05
M3 FIXED
sim_dur FIXED
sim_dur_weeks FIXED
sim_dur_months FIXED
sim_dur_6months FIXED
ShareWomenExperience FIXED
catchment_mult FIXED 1
PerWRA FIXED
PerPregInitiation FIXED 0.025
DM_months_between_visits FIXED
facilitiesSeenPerVisit FIXED
pregancyDuration FIXED
P4PN FIXED 1
P4P FIXED
produceOutputs FIXED
sim_dur_years FIXED
Delays FIXED 1
monthlyPregRate FIXED 0.0167
durationOfDMImpact FIXED 1
capacityRelaxation RANGE 1 3 1
initialTBA FIXED
initialGifts FIXED
LessPoor_prop_add FIXED
P4P_NoBonusHarm FIXED
shorterPaymentPeriod FIXED
DmVisits0 FIXED
drugSharingthreshold FIXED
drugSharingAmt FIXED
DmVisits FIXED
DrugSharing0 FIXED
womenChoiceMods FIXED
DrugSharingB FIXED
occupancyEffects FIXED
FacilityATargets FIXED
FacilityBTargets FIXED
FacilityCTargets FIXED
Parameter Variation Experiment Parameters:
Value
Parameter Type Min Max Step
n_social RANGE 2 6 1
occupancyCushion RANGE 0 2 1
bypass FIXED
allowExpansion FIXED 0//1//(allowExpansion_bol)? 1:0
b RANGE 0 1.2 0.2
Function: writeHeaders
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body //Write headers for facility level output file
facilityoutputs.print("iteration, SimRun, Month, facilityName, ");
facilityoutputs.print("AllBirths, inFacilityBirths, OutsideFacilityBirths, PaymentDelay, DMvisit, DrugShared, Months_btw_DM_Visits, DelayMitigated, StrategyReceived, Capacity, Outreach, DrugAvail, TBAIncent, Gifts, Bonus, Kindness, ExpKindness,");
facilityoutputs.print("ConsTime, OOP, InterPersonQ, ExpInterPersonQ, occupancyCushion, PerPregInitial, capacityRelax, DrugSharingOn, MinDrugSharingThes, DrugSharingAmt, initialTBA, initialGifts, durationofDMVistEffect, P4P, Delays, LessPoorAdd, CatchMult,");
facilityoutputs.print("OccupancyEffectsOn, ModOn, n_social ,fmod, homemod, othermod, tbamod,");
facilityoutputs.print("monthlyPregRate, Bypass, expansion,b, BypassedFrom, BypassedTo");
facilityoutputs.println();
Name Value
Advanced
Access type default
System dynamics units false
Function: writeRunValues
Name Value
General
Return type: Just action (returns nothing)
Show at runtime true
Show name true
Function body
Body
Advanced
Access type default
System dynamics units false
Variable: runNum
Name Value
General
Initial value 1
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: months
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Variable: facilities
Name Value
General
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Name Value
Save in snapshot true
System dynamics units false
Variable: iterationNum
Name Value
General
Initial value 1
Type int
Show at runtime true
Show name true
Advanced
Access type public
Constant false
Save in snapshot true
System dynamics units false
Button: button
Name Value
General
Dynamic: Enable getState() == IDLE
Enabled true
Dynamic: Label getState() == IDLE ? "Run Model" : "Top level agent"
Label text Run Model
Lock false
Action
Action run();
Position and size
x 50.0
Width 160.0
y 70.0
Height 80.0
Advanced
Show name false
Text File: facilityoutputs
Name Value
General
File mode Write
Text file name ResourceReference: cosmic_abm.calibration_outputs.txt (Resolved: true)
Text File Type File
Show at runtime true
Show name true